view gsm-fw/gpf/osl/os_pro_ir.c @ 344:c51d6b3748c3

OSL: os_SuspendTask() done
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sat, 03 May 2014 19:20:05 +0000
parents e3a2e6e875de
children 460ed6748e4c
line wrap: on
line source

/*
 * This C module is a reconstruction based on the disassembly of
 * os_pro.obj in frame_na7_db_ir.lib from the Leonardo package.
 */

/* set of included headers from COFF symtab: */
#include <stdio.h>
#include <string.h>
#include "gpfconf.h"	/* FreeCalypso addition */
#include "../../nucleus/nucleus.h"
#include "typedefs.h"
#include "os.h"
#include "gdi.h"
#include "os_types.h"
#include "os_glob.h"

typedef unsigned char u_char;

extern VOID *TCD_Current_Thread;
extern T_OS_TASK_TABLE_ENTRY TaskTable[];
extern unsigned os_time_to_tick_multiplier;

VOID
os_TaskEntry(UNSIGNED TaskHandle, VOID *argv)
{
	TaskTable[TaskHandle].TaskEntry(TaskHandle, 0);
}

GLOBAL LONG
os_SuspendTask(OS_HANDLE Caller, ULONG Time)
{
	UNSIGNED SuspendTicks;

	SuspendTicks = TIME_TO_SYSTEM_TICKS(Time);
	if (!SuspendTicks)
		SuspendTicks = 1;
	NU_Sleep(SuspendTicks);
	return (OS_OK);
}