CPI Functions Analysis and Comparison (OS2Linux / 2Ine)

From OS2World.Com Wiki
Jump to navigation Jump to search

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

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

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.