CPI Functions Analysis and Comparison (OS2Linux / 2Ine): Difference between revisions
Jump to navigation
Jump to search
(3 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
=== Date/Time === | === Date/Time === | ||
{|class="wikitable" | {|class="wikitable" | ||
!CPI Function Name!! | !CPI Function Name!! OS2Linux !! OS2Linux Link !! 2ine !! 2ine Link | ||
|- | |- | ||
|DosGetDateTime|| Yes || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/master/os2/datetime.c datetime.c] | |DosGetDateTime|| Yes || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/master/os2/datetime.c datetime.c] || Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/doscalls.c doscalls.c] | ||
|- | |- | ||
|DosSetDateTime|| Yes || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/master/os2/datetime.c datetime.c] | |DosSetDateTime|| Yes || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/master/os2/datetime.c datetime.c] || No || No | ||
|} | |} | ||
=== Device I/O === | === Device I/O === | ||
{| class="wikitable | {|class="wikitable" | ||
!CPI Function Name !! | !CPI Function Name!! OS2Linux !! OS2Linux Link !! 2ine !! 2ine Link | ||
|- | |- | ||
|DosBeep|| Yes || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/process.c process.c] | |DosBeep|| Yes || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/process.c process.c] || No || No | ||
|- | |- | ||
|DosDevConfig|| No || | |DosDevConfig|| No || No || Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/doscalls.c doscalls.c] | ||
|- | |- | ||
|DosDevIOCtl|| No || | |DosDevIOCtl|| No || No || No || No | ||
|- | |- | ||
|DosListIO|| No || | |DosListIO|| No || No || No || No | ||
|- | |- | ||
|DosListIOL|| No || | |DosListIOL|| No || No || No || No | ||
|- | |- | ||
|DosPhysicalDisk|| No || | |DosPhysicalDisk|| No || No || No || No | ||
|- | |- | ||
|} | |} | ||
Line 37: | Line 37: | ||
==== Video I/O functions ==== | ==== Video I/O functions ==== | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
!CPI Function Name !! | !CPI Function Name!! OS2Linux !! OS2Linux Link !! 2ine !! 2ine Link | ||
|- | |- | ||
|VioRegister|| No || | |VioRegister|| No || No || No || No | ||
|- | |- | ||
|VioGlobalReg|| No || | |VioGlobalReg|| No || No || No || No | ||
|- | |- | ||
|VioDeRegister|| No || | |VioDeRegister|| No || No || No || No | ||
|- | |- | ||
|VioGetBuf|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] | |VioGetBuf|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] || Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/viocalls.c] | ||
|- | |- | ||
|VioGetCurPos|| Yes ||rowspan=2| [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] | |VioGetCurPos|| Yes ||rowspan=2| [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] || Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/viocalls.c viocalls.c] | ||
|- | |- | ||
|VioSetCurPos|| Yes | |VioSetCurPos|| Yes || Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/viocalls.c viocalls.c] | ||
|- | |- | ||
|VioGetCurType|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] | |VioGetCurType|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c]|| Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/viocalls.c viocalls.c] | ||
|- | |- | ||
|VioSetCurType|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] | |VioSetCurType|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] || Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/viocalls.c viocalls.c] | ||
|- | |- | ||
|VioGetMode|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] | |VioGetMode|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c]|| Yes || [https://hg.icculus.org/icculus/2ine/file/tip/native/viocalls.c viocalls.c] | ||
|- | |- | ||
|VioSetMode|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] | |VioSetMode|| unsupported || [https://github.com/OS2World/LINUX-SYSTEM-OS2Linux/blob/1eaffacb404b31b79068582ef8bf4d7583c8fa8d/os2/sub.c sub.c] |
Revision as of 16:46, 16 March 2018
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.
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.
Date/Time
CPI Function Name | OS2Linux | OS2Linux Link | 2ine | 2ine Link |
---|---|---|---|---|
DosGetDateTime | Yes | datetime.c | Yes | doscalls.c |
DosSetDateTime | Yes | datetime.c | No | No |
Device I/O
CPI Function Name | OS2Linux | OS2Linux Link | 2ine | 2ine Link |
---|---|---|---|---|
DosBeep | Yes | process.c | No | No |
DosDevConfig | No | No | Yes | doscalls.c |
DosDevIOCtl | No | No | No | No |
DosListIO | No | No | No | No |
DosListIOL | No | No | No | No |
DosPhysicalDisk | No | No | No | No |
Video I/O functions
CPI Function Name | OS2Linux | OS2Linux Link | 2ine | 2ine Link |
---|---|---|---|---|
VioRegister | No | No | No | No |
VioGlobalReg | No | No | No | No |
VioDeRegister | No | No | No | No |
VioGetBuf | unsupported | sub.c | Yes | [1] |
VioGetCurPos | Yes | sub.c | Yes | viocalls.c |
VioSetCurPos | Yes | Yes | viocalls.c | |
VioGetCurType | unsupported | sub.c | Yes | viocalls.c |
VioSetCurType | unsupported | sub.c | Yes | viocalls.c |
VioGetMode | unsupported | sub.c | Yes | viocalls.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
CPI Function Name | Available | Link |
---|---|---|
DosDupHandle | Yes | filemgr.c |
DosQueryFHState | Yes | filemgr.c |
DosProtectQueryFHState | unsupported | filemgr.c |
DosQueryHType | unsupported | filemgr.c |
DosResetBuffer | Yes | filemgr.c |
DosSetFHState | unsupported | filemgr.c |
DosProtectSetFHState | unsupported | filemgr.c |
DosSetMaxFH | unsupported | filemgr.c |
DosSetMaxFH | No |
File Querying
- DosEnumAttribute
- DosProtectEnumAttribute
- DosQueryFileInfo
- DosProtectQueryFileInfo
- DosQueryPathInfo
- DosQuerySysInfo
- DosQueryVerify
File System Functions
- DosFSAttach
- DosFSCtl
- DosQueryFSAttach
- DosQueryFSInfo
- DosResetBuffer
- DosSetFSInfo
- DosShutdown
Memory Management
CPI Function Name | Available | Link |
---|---|---|
DosAllocMem | Yes | memmgr.c |
DosFreeMem | Yes | memmgr.c |
DosQueryMem | unsupported | memmgr.c |
DosSetMem | unsupported | memmgr.c |
Heap Memory
CPI Function Name | Available | Link |
---|---|---|
DosSubAllocMem | unsupported | memmgr.c |
DosSubFreeMem | unsupported | memmgr.c |
DosSubSetMem | unsupported | memmgr.c |
DosSubUnsetMem | unsupported | memmgr.c |
CPI Function Name | Available | Link |
---|---|---|
DosAllocSharedMem | Yes | memmgr.c |
DosGetNamedSharedMem | Yes | memmgr.c |
DosGetSharedMem | unsupported | memmgr.c |
DosGiveSharedMem | unsupported | memmgr.c |
Thread local Memory
- DosAllocThreadLocalMemory
- DosFreeThreadLocalMemory
Addressing
- DosFlatToSel
- DosSelToFlat
Message Management
CPI Function Name | Available | Link |
---|---|---|
DosGetMessage | Yes | misc.c |
DosTrueGetMessage | No | |
DosInsertMessage | unsupported | misc.c |
DosPutMessage | Yes | misc.c |
DosQueryMessageCp | unsupported | misc.c |
DosIQueryMessageCp | No |
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
CPI Function Name | Available | Link |
---|---|---|
DosCloseQueue | Yes | queues.c |
DosQueryQueue | unsuported | queues.c |
DosWriteQueue | Yes | queues.c |
Server
CPI Function Name | Available | Link |
---|---|---|
DosCreateQueue | Yes | queues.c |
DosPeekQueue | unsuported | queues.c |
DosPurgeQueue | unsupported | queues.c |
DosReadQueue | Yes | queues.c |
Client
CPI Function Name | Available | Link |
---|---|---|
DosOpenQueue | Yes | queues.c |
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
CPI Function Name | Available | Link |
---|---|---|
DosCloseMutexSem | Yes | semaphore.c |
DosCreateMutexSem | Yes | semaphore.c |
DosOpenMutexSem | Yes | semaphore.c |
DosQueryMutexSemm | unsupported | semaphore.c |
DosReleaseMutexSem | Yes | semaphore.c |
DosRequestMutexSem | Yes | semaphore.c |
MuxWait Semaphores
CPI Function Name | Available | Link |
---|---|---|
DosAddMuxWaitSem | Yes | semaphore.c |
DosCloseMuxWaitSem | Yes | semaphore.c |
DosCreateMuxWaitSem | Yes | semaphore.c |
DosDeleteMuxWaitSem | unsupported | semaphore.c |
DosOpenMuxWaitSem | Yes | semaphore.c |
DosRequestMutexSem | Yes | semaphore.c |
DosQueryMuxWaitSem | Yes | semaphore.c |
DosWaitMuxWaitSem | Yes | semaphore.c |
Processes/Threading
CPI Function Name | Available | Link |
---|---|---|
DosExit | No | |
DosGetInfoBlocks | Yes | process.c |
DosSetPriority | Yes | process.c |
Processes
CPI Function Name | Available | Link |
---|---|---|
DosEnterCritSec | Yes | process.c |
DosExecPgm | Yes | process.c |
DosExitCritSec | Yes | process.c |
DosExitList | Yes | process.c |
DosKillProcess | Yes | process.c |
DosWaitChild | Yes | process.c |
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
CPI Function Name | Available | Link |
---|---|---|
DosSelectSession | No | |
DosSetSession | No | |
DosStartSession | No | |
DosStopSession | No |
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.