FreeCalypso > hg > fc-magnetite
view src/gpf2/osl/os_drv.c @ 631:597869e59805
config: introduced new CONFIG_MCSI_MODEM preprocessor symbol
All MCSI functionality was previously conditionalized on CONFIG_TARGET_FCMODEM
(even earlier it was CONFIG_TARGET_FCDEV3B), but having a dedicated
preprocessor symbol for this purpose (defined in targets/*.h as appropriate)
makes it much easier to support different modem targets with MCSI enabled.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 04 Jan 2020 19:07:02 +0000 |
parents | 045d641c9bfa |
children |
line wrap: on
line source
/* * This C module is a reconstruction based on the disassembly of * os_drv.obj in frame_na7_db_fl.lib from the Leonardo package. */ /* set of included headers from COFF symtab: */ #include "nucleus.h" #include "typedefs.h" #include "gdi.h" #include "os.h" typedef unsigned char u_char; extern OS_HANDLE os_ext_pool_handle; static u_char *HISR_Stack; static T_DRV_SIGNAL *SignalID; static void (*DrvCallback)(T_DRV_SIGNAL *); static NU_HISR CallBack_HISR; #define CB_HISR_STACK_SIZE 1024 GLOBAL LONG os_ExecuteCallback(OS_HANDLE Caller, void (*Callback)(T_DRV_SIGNAL *), T_DRV_SIGNAL *Signal) { DrvCallback = Callback; SignalID = Signal; NU_Activate_HISR(&CallBack_HISR); return(OS_OK); } static void CallbackFunc(void) { DrvCallback(SignalID); } GLOBAL LONG os_CreateCallback(void) { if (os_AllocateMemory(OS_NOTASK, (T_VOID_STRUCT **) &HISR_Stack, CB_HISR_STACK_SIZE, 0xFFFFFFFF, os_ext_pool_handle) == OS_ERROR) return(OS_ERROR); if (NU_Create_HISR(&CallBack_HISR, "CB_HISR", CallbackFunc, 2, HISR_Stack, CB_HISR_STACK_SIZE) == NU_SUCCESS) return(OS_OK); else return(OS_ERROR); }