CPI Functions Analysis and Comparison (OS2Linux / 2Ine)
This is a light check of what functions of Control Program Interface does the OS2Linux projects has implemented. It was not tested so we can not know for sure if the 100% of the functionality is implemented.
Date/Time
CPI Function Name | Available | Link |
---|---|---|
DosGetDateTime | Yes | datetime.c |
DosSetDateTime | Yes | datetime.c |
Device I/O
CPI Function Name | Available | Link |
---|---|---|
DosBeep | Yes | process.c |
DosDevConfig | No | |
DosDevIOCtl | No | |
DosListIO | No | |
DosListIOL | No | |
DosPhysicalDisk | No |
Video I/O functions
CPI Function Name | Available | Link |
---|---|---|
VioRegister | No | |
VioGlobalReg | No | |
VioDeRegister | No | |
VioGetBuf | unsupported | sub.c |
VioGetCurPos | Yes | sub.c |
VioSetCurPos | Yes | |
VioGetCurType | unsupported | sub.c |
VioSetCurType | unsupported | sub.c |
VioGetMode | unsupported | sub.c |
VioSetMode | unsupported | sub.c |
VioGetPhysBuf | No | |
VioReadCellStr | unsupported | sub.c |
VioReadCharStr | unsupported | sub.c |
VioWrtCellStr | No | |
VioWrtCharStr | Yes | sub.c |
VioScrollDn | unsupported | sub.c |
VioScrollUp | unsupported | sub.c |
VioScrollLf | unsupported | sub.c |
VioScrollRt | unsupported | sub.c |
VioWrtNAttr | unsupported | sub.c |
VioWrtNCell | unsupported | sub.c |
VioWrtNChar | Yes | sub.c |
VioWrtTTY | Yes | sub.c |
VioWrtCharStrAtt | unsupported | sub.c |
VioCheckCharType | No | |
VioShowBuf | unsupported | sub.c |
VioSetAnsi | unsupported | sub.c |
VioGetAnsi | unsupported | sub.c |
VioPrtSc | No | |
VioPrtScToggle | No | |
VioRedrawSize | No | |
VioSavRedrawWait | unsupported | sub.c |
VioSavRedrawUndo | unsupported | sub.c |
VioModeWait | unsupported | sub.c |
VioModeUndo | unsupported | sub.c |
VioScrUnLock | unsupported | sub.c |
VioPopUp | unsupported | sub.c |
VioEndPopUp | unsupported | sub.c |
VioGetConfig | unsupported | sub.c |
VioSetFont | No | |
VioGetCp | unsupported | sub.c |
VioSetCp | unsupported | sub.c |
VioGetState | unsupported | sub.c |
VioSetState | unsupported | sub.c |
Advanced VIO
CPI Function Name | Available | Link |
---|---|---|
VioAssociate | No | |
VioCreateLogFont | No | |
VioCreatePS | No | |
VioDeleteSetId | No | |
VioDestroyPS | No | |
VioGetDeviceCellSize | No | |
VioGetOrg | No | |
VioQueryFonts | No | |
VioQuerySetIds | No | |
VioSetDeviceCellSize | No | |
VioSetOrg | No | |
VioShowPS | No | |
WinDefAVioWindowProc | No |
Keyboard functions
CPI Function Name | Available | Link |
---|---|---|
KbdRegister | No | |
KbdDeRegister | No | |
KbdCharIn | No | |
KbdPeek | No | |
KbdStringIn | No | |
KbdFlushBuffer | No | |
KbdSetStatus | No | |
KbdGetStatus | No | |
KbdSetCp | No | |
KbdGetCp | No | |
KbdOpen | No | |
KbdClose | No | |
KbdGetFocus | No | |
KbdFreeFocus | No | |
KbdSynch | No | |
KbdSetFgnd | No | |
KbdGetHWID | No | |
KbdSetHWID | No | |
KbdXlate | No | |
KbdSetCustXt | No |
Mouse functions
CPI Function Name | Available | Link |
---|---|---|
MouRegister | No | |
MouDeRegister | No | |
MouFlushQue | No | |
MouGetPtrPos | No | |
MouSetPtrPos | No | |
MouSetPtrShape | No | |
MouGetPtrShape | No | |
MouGetDevStatus | No | |
MouGetNumButtons | No | |
MouGetNumMickeys | No | |
MouReadEventQue | No | |
MouGetNumQueEl | No | |
MouGetEventMask | No | |
MouSetEventMask | No | |
MouGetScaleFact | No | |
MouSetScaleFact | No | |
MouOpen | No | |
MouClose | No | |
MouRemovePtr | No | |
MouDrawPtr | No | |
MouSetDevStatus | No | |
MouInitReal | No | |
MouSynch | No | |
MouGetThreshold | No | |
MouSetThreshold | No |
Monitor functions
CPI Function Name | Available | Link |
---|---|---|
DosMonClose | No | |
DosMonOpen | No | |
DosMonRead | No | |
DosMonReg | No | |
DosMonWrite | No |
Dynamic Linking Library
CPI Function Name | Available | Link |
---|---|---|
DosFreeModule | Yes | modulemgr.c |
DosLoadModule | Yes | |
DosQueryAppType | No | |
DosQueryModuleHandle | unsupported | modulemgr.c |
DosQueryModuleName | unsupported | |
DosQueryProcAddr | Yes | |
DosQueryProcType | Yes |
Error Management
CPI Function Name | Available | Link |
---|---|---|
DosErrClass | unsupported | misc.c |
DosError | unsupported | misc.c |
Exception Management
CPI Function Name | Available | Link |
---|---|---|
DosRaiseException | unsupported | exceptions.c |
DosSetExceptionHandler | unsupported | exceptions.c |
DosUnsetExceptionHandler | unsupported | exceptions.c |
DosUnwindException | unsupported | exceptions.c |
Must Complete Management
CPI Function Name | Available | Link |
---|---|---|
DosEnterMustComplete | unsupported | exceptions.c |
DosExitMustComplete | unsupported | exceptions.c |
Signaling Exception Management
CPI Function Name | Available | Link |
---|---|---|
DosAcknowledgeSignalException | unsupported | exceptions.c |
DosSendSignalException | unsupported | exceptions.c |
DosSetSignalExceptionFocus | unsupported | exceptions.c |
File Systems/File Management
Directory Searching
CPI Function Name | Available | Link |
---|---|---|
DosFindClose | Yes | filemgr.c |
DosFindFirst | Yes | filemgr.c |
DosFindNext | Yes | filemgr.c |
Directory
CPI Function Name | Available | Link |
---|---|---|
DosCreateDir | Yes | filemgr.c |
DosDeleteDir | Yes | filemgr.c |
DosQueryCurrentDir | Yes | filemgr.c |
DosSetCurrentDir | Yes | filemgr.c |
Disk
CPI Function Name | Available | Link |
---|---|---|
DosQueryCurrentDisk | unsupported | filemgr.c |
DosSetDefaultDisk | unsupported | filemgr.c |
Environment/Path
CPI Function Name | Available | Link |
---|---|---|
DosScanEnv | Yes | misc.c |
DosSearchPath | unsupported | misc.c |
LibPath
CPI Function Name | Available | Link |
---|---|---|
DosQueryExtLIBPATH | Yes | misc.c |
DosSetExtLIBPATH | Yes | misc.c |
File Manipulation
- DosCancelLockRequest
- DosCancelLockRequestL
- DosClose
- DosProtectClose
- DosCopy
- DosDelete
- DosEditName
- DosForceDelete
- DosMove
- DosOpen
- DosOpenL
- DosProtectOpen
- DosProtectOpenL
- DosRead
- DosProtectRead
- DosSetFileInfo
- DosProtectSetFileInfo
- DosSetFileLock
- DosSetFileLockL
- DosProtectSetFileLock
- DosProtectSetFileLockL
- DosSetFilePtr
- DosSetFilePtrL
- DosProtectSetFilePtr
- DosProtectSetFilePtrL
- DosSetFileSize
- DosSetFileSizeL
- DosProtectSetFileSize
- DosProtectSetFileSizeL
- DosSetPathInfo
- DosSetVerify
- DosWrite
- DosProtectWrite
File Handle Manipulation
- DosDupHandle
- DosQueryFHState
- DosProtectQueryFHState
- DosQueryHType
- DosResetBuffer
- DosSetFHState
- DosProtectSetFHState
- DosSetMaxFH
- DosSetRelMexFH
File Querying
- DosEnumAttribute
- DosProtectEnumAttribute
- DosQueryFileInfo
- DosProtectQueryFileInfo
- DosQueryPathInfo
- DosQuerySysInfo
- DosQueryVerify
File System Functions
- DosFSAttach
- DosFSCtl
- DosQueryFSAttach
- DosQueryFSInfo
- DosResetBuffer
- DosSetFSInfo
- DosShutdown
Memory Management
- DosAllocMem
- DosFreeMem
- DosQueryMem
- DosSetMem
Heap Memory
- DosSubAllocMem
- DosSubFreeMem
- DosSubSetMem
- DosSubUnsetMem
- DosAllocSharedMem
- DosGetNamedSharedMem
- DosGetSharedMem
- DosGiveSharedMem
Thread local Memory
- DosAllocThreadLocalMemory
- DosFreeThreadLocalMemory
Addressing
- DosFlatToSel
- DosSelToFlat
Message Management
- DosGetMessage
- DosTrueGetMessage
- DosInsertMessage
- DosPutMessage
- DosQueryMessageCp
- DosIQueryMessageCp
National Language/Code Page
- DosQueryCp
- DosSetProcessCp
- DosMapCase
- DosQueryCollate
- DosQueryCtryInfo
- DosQueryDBCSEnv
Pipes
CPI Function Name | Available | Link |
---|---|---|
DosCreatePipe | Yes | queues.c] |
Named Pipes
CPI Function Name | Available | Link |
---|---|---|
DosCallNPipe | Yes | nmpipes.c |
DosConnectNPipe | Yes | nmpipes.c |
DosDisConnectNPipe | Yes | nmpipes.c |
DosPeekNPipe | Yes | nmpipes.c |
DosQueryNPHState | Yes | nmpipes.c |
DosCreatePipe | Yes | queues.c |
DosQueryNPipeInfo | unsupported | nmpipes.c |
DosQueryNPipeSemState | unsupported | nmpipes.c |
DosResetBuffer | Yes | filemgr.c |
DosSetNPHState | unsupported | nmpipes.c |
DosSetNPipeSem | unsupported | nmpipes.c |
DosTransactNPipe | Yes | nmpipes.c |
DosWaitNPipe | Yes | nmpipes.c |
Queues
- DosCloseQueue
- DosQueryQueue
- DosWriteQueue
Server
- DosCreateQueue
- DosPeekQueue
- DosPurgeQueue
- DosReadQueue
Client
- DosOpenQueue
Resource Management
CPI Function Name | Available | Link |
---|---|---|
DosFreeResource | unsupported | resources.c |
DosGetResource | unsupported | resources.c |
DosQueryResourceSize | unsupported | resources.c |
Semaphores
Event Semaphores
CPI Function Name | Available | Link |
---|---|---|
DosCloseEventSem | Yes | semaphore.c |
DosCreateEventSem | Yes | semaphore.c |
DosOpenEventSem | Yes | semaphore.c |
DosPostEventSem | Yes | semaphore.c |
DosQueryEventSem | Yes | semaphore.c |
DosResetEventSem | Yes | semaphore.c |
DosWaitEventSem | Yes | semaphore.c |
Mutex Semaphores
- DosCloseMutexSem
- DosCreateMutexSem
- DosOpenMutexSem
- DosQueryMutexSem
- DosReleaseMutexSem
- DosRequestMutexSem
MuxWait Semaphores
- DosAddMuxWaitSem
- DosCloseMuxWaitSem
- DosCreateMuxWaitSem
- DosDeleteMuxWaitSem
- DosOpenMuxWaitSem
- DosQueryMuxWaitSem
- DosWaitMuxWaitSem
Processes/Threading
- DosExit
- DosGetInfoBlocks
- DosSetPriority
Processes
- DosEnterCritSec
- DosExecPgm
- DosExitCritSec
- DosExitList
- DosKillProcess
- DosWaitChild
Threads
CPI Function Name | Available | Link |
---|---|---|
DosCreateThread | Yes | process.c |
DosKillThread | Yes | process.c |
DosQueryThreadAffinity | No | |
DosResumeThread | Yes | process.c |
DosSetThreadAffinity | No | |
DosSleep | Yes | process.c |
DosSuspendThread | Yes | process.c |
DosWaitThread | Yes | process.c |
Session Management
- DosSelectSession
- DosSetSession
- DosStartSession
- DosStopSession
Timer
CPI Function Name | Available | Link |
---|---|---|
DosAsyncTimer | Yes | datetime.c |
DosStartTimer | Yes | datetime.c |
DosStopTimer | Yes | datetime.c |
Legend
On the "Available" column you have the follow list:
- Yes : That can not mean that is full complete, but an implementation is availableon OS2Linux
- unsupported: Which means that OS2Linux has it implemented but gives an Error response.
- No: Means that OS2Linux does not have it, not even an ERROR reponse for it.