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 | No | |
| VioGetCurPos | Yes | sub.c |
| VioSetCurPos | Yes | |
| VioGetCurType | No | |
| VioSetCurType | No | |
| VioGetMode | No | |
| VioSetMode | No | |
| VioGetPhysBuf | No | |
| VioReadCellStr | No | |
| VioReadCharStr | No | |
| VioWrtCellStr | No | |
| VioWrtCharStr | Yes | sub.c |
| VioScrollDn | No | |
| VioScrollUp | No | |
| VioScrollLf | No | |
| VioScrollRt | No | |
| VioWrtNAttr | No | |
| VioWrtNCell | No | |
| VioWrtNChar | Yes | sub.c |
| VioWrtTTY | Yes | |
| VioWrtCharStrAtt | No | |
| VioCheckCharType | No | |
| VioShowBuf | No | |
| VioSetAnsi | No | |
| VioGetAnsi | No | |
| VioPrtSc | No | |
| VioPrtScToggle | No | |
| VioRedrawSize | No | |
| VioSavRedrawWait | No | |
| VioSavRedrawUndo | No | |
| VioModeWait | No | |
| VioModeUndo | No | |
| VioModeUndo | No | |
| VioScrUnLock | No | |
| VioPopUp | No | |
| VioEndPopUp | No | |
| VioGetConfig | No | |
| VioGetConfig | No | |
| VioSetFont | No | |
| VioGetCp | No | |
| VioSetCp | No | |
| VioGetState | No | |
| VioSetState | No |
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 | ||
| MouDeRegister | ||
| MouFlushQue | ||
| MouGetPtrPos | ||
| MouSetPtrPos | ||
| MouSetPtrShape | ||
| MouGetPtrShape | ||
| MouGetDevStatus | ||
| MouGetNumButtons | ||
| MouGetNumMickeys | ||
| MouReadEventQue | ||
| MouGetNumQueEl | ||
| MouGetEventMask | ||
| MouSetEventMask | ||
| MouGetScaleFact | ||
| MouSetScaleFact | ||
| MouOpen | ||
| MouClose | ||
| MouRemovePtr | ||
| MouDrawPtr | ||
| MouSetDevStatus | ||
| MouInitReal | ||
| MouSynch | ||
| MouGetThreshold | ||
| MouSetThreshold |
Monitor functions
- DosMonClose
- DosMonOpen
- DosMonRead
- DosMonReg
- DosMonWrite
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
- DosErrClass
- DosError
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
- DosQueryCurrentDisk
- DosSetDefaultDisk
Environment/Path
- DosScanEnv
- DosSearchPath
LibPath
- DosQueryExtLIBPATH
- DosSetExtLIBPATH
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
Shared Memory
- 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
- DosCreatePipe
Named Pipes
- DosCallNPipe
- DosConnectNPipe
- DosConnectNPipe
- DosDisConnectNPipe
- DosPeekNPipe
- DosQueryNPHState
- DosQueryNPipeInfo
- DosQueryNPipeSemState
- DosResetBuffer
- DosSetNPHState
- DosSetNPipeSem
- DosTransactNPipe
- DosWaitNPipe
Queues
- DosCloseQueue
- DosQueryQueue
- DosWriteQueue
Server
- DosCreateQueue
- DosPeekQueue
- DosPurgeQueue
- DosReadQueue
Client
- DosOpenQueue
Resource Management
- DosFreeResource
- DosGetResource
- DosQueryResourceSize
Semaphores
Event Semaphores
- DosCloseEventSem
- DosCreateEventSem
- DosOpenEventSem
- DosPostEventSem
- DosQueryEventSem
- DosResetEventSem
- DosWaitEventSem
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 |