Control Program Functions List

Control Programming Interface
Some general information is available at Control Program page.

Date/Time

 * DosGetDateTime
 * DosSetDateTime

Device I/O

 * DosBeep
 * DosDevConfig
 * DosDevIOCtl
 * DosListIO
 * DosListIOL
 * DosPhysicalDisk
 * DosTmrQueryFreq
 * DosTmrQueryTime

Dynamic Linking Library

 * DosFreeModule
 * DosLoadModule
 * DosQueryAppType
 * DosQueryModuleHandle
 * DosQueryModuleName
 * DosQueryProcAddr
 * DosQueryProcType

Error Management

 * DosErrClass
 * DosError
 * DosDebug
 * DosSuppressPopUps
 * DosDumpProcess
 * DosForceSystemDump
 * Dos16SysTrace

Exception Management

 * DosQueryModFromEIP
 * DosRaiseException
 * DosSetExceptionHandler
 * DosUnsetExceptionHandler
 * DosUnwindException
 * Dos16QueryModFromCS

Must Complete Management

 * DosEnterMustComplete
 * DosExitMustComplete

Signaling Exception Management

 * DosAcknowledgeSignalException
 * DosSendSignalException
 * DosSetSignalExceptionFocus

Directory Searching

 * DosFindClose
 * DosFindFirst
 * DosFindNext

Directory

 * DosCreateDir
 * DosDeleteDir
 * DosQueryCurrentDir
 * DosSetCurrentDir

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
 * DosReplaceModule
 * DosProtectRead
 * DosSetFileInfo
 * DosProtectSetFileInfo
 * DosSetFileLocks
 * DosSetFileLocksL
 * DosProtectSetFileLocks
 * DosProtectSetFileLocksL
 * DosSetFilePtr
 * DosSetFilePtrL
 * DosProtectSetFilePtr
 * DosProtectSetFilePtrL
 * DosSetFileSize
 * DosSetFileSizeL
 * DosProtectSetFileSize
 * DosProtectSetFileSizeL
 * DosSetPathInfo
 * DosSetVerify
 * DosWrite
 * DosProtectWrite

File Handle Manipulation

 * DosDupHandle
 * DosQueryFHState
 * DosProtectQueryFHState
 * DosQueryHType
 * DosResetBuffer
 * DosSetFHState
 * DosProtectSetFHState
 * DosSetMaxFH
 * DosSetRelMaxFH

File Querying

 * DosEnumAttribute
 * DosProtectEnumAttribute
 * DosQueryFileInfo
 * DosQueryFileMode
 * DosProtectQueryFileInfo
 * DosQueryPathInfo
 * DosQuerySysInfo
 * DosQuerySysState
 * DosQueryVerify
 * DosPerfSysCall
 * DosGetProcessorStatus
 * DosSetProcessorStatus
 * DosQueryABIOSSupport

File System Functions

 * DosFSAttach
 * DosFSCtl
 * DosQueryFSAttach
 * DosQueryFSInfo
 * DosResetBuffer
 * DosSetFSInfo
 * DosShutdown

Memory Management

 * DosAliasMem
 * DosAllocMem
 * DosFreeMem
 * DosQueryMem
 * DosQueryMemState
 * DosSetMem

Heap Memory

 * DosSubAllocMem
 * DosSubFreeMem
 * DosSubSetMem
 * DosSubUnsetMem

Shared Memory

 * DosAllocSharedMem
 * DosGetNamedSharedMem
 * DosGetSharedMem
 * DosGiveSharedMem

Thread local Memory

 * DosAllocThreadLocalMemory
 * DosFreeThreadLocalMemory

Message Management

 * DosGetMessage
 * DosInsertMessage
 * DosPutMessage
 * DosQueryMessageCP

National Language/Code Page

 * DosQueryCp
 * DosSetProcessCp
 * DosMapCase
 * DosQueryCollate
 * DosQueryCtryInfo
 * DosQueryDBCSEnv

Pipes

 * DosCreatePipe

Named Pipes

 * DosCallNPipe
 * DosConnectNPipe
 * DosCreateNPipe
 * 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

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

 * DosCreateThread
 * DosCreateThread2
 * DosKillThread
 * DosQueryThreadAffinity
 * DosQueryThreadContext
 * DosResumeThread
 * DosSetThreadAffinity
 * DosSleep
 * DosSuspendThread
 * DosVerifyPidTid
 * DosWaitThread

Session Management

 * DosSelectSession
 * DosSetSession
 * DosStartSession
 * DosStopSession

Timer

 * DosAsyncTimer
 * DosStartTimer
 * DosStopTimer

VDD

 * DosCloseVDD
 * DosOpenVDD
 * DosRequestVDD

Keyboard functions

 * KbdCharIn
 * KbdGetConsole
 * KbdPeek
 * KbdStringIn
 * KbdFlushBuffer
 * KbdSetStatus
 * KbdGetStatus
 * KbdSetCp
 * KbdGetCp
 * KbdGetLayout
 * KbdGetLayoutUni
 * KbdSetLayout
 * KbdSetLayoutUni
 * KbdGetHWID
 * KbdXlate

Mouse functions

 * MouFlushQue
 * MouGetPtrPos
 * MouSetPtrPos
 * MouSetPtrShape
 * MouGetPtrShape
 * MouGetDevStatus
 * MouGetNumButtons
 * MouGetNumMickeys
 * MouReadEventQue
 * MouGetNumQueEl
 * MouGetEventMask
 * MouSetEventMask
 * MouGetScaleFact
 * MouSetScaleFact
 * MouRemovePtr
 * MouDrawPtr
 * MouSetDevStatus
 * MouGetThreshold
 * MouSetThreshold

Video I/O functions

 * VioGetBuf
 * VioGetCurPos
 * VioSetCurPos
 * VioGetCurType
 * VioSetCurType
 * VioGetMode
 * VioSetMode
 * VioReadCellStr
 * VioReadCharStr
 * VioWrtCellStr
 * VioWrtCharStr
 * VioScrollUp [[image:Att.gif]]
 * VioScrollDown [[image:Att.gif]]
 * VioScrollLeft [[image:Att.gif]]
 * VioScrollRight [[image:Att.gif]]
 * VioWrtNAttr
 * VioWrtNCell
 * VioWrtNChar
 * VioWrtTTY
 * VioWrtCharStrAtt
 * VioShowBuf
 * VioSetAnsi
 * VioGetAnsi
 * VioSavRedrawWait
 * VioSavRedrawUndo
 * VioModeWait
 * VioModeUndo
 * VioScrLock
 * VioScrUnLock
 * VioPopUp
 * VioEndPopUp
 * VioGetConfig
 * VioGetCp
 * VioSetCp
 * VioGetOrigin
 * VioSetOrigin
 * VioGetState
 * VioSetState

Advanced VIO

 * VioAssociate
 * VioCreateLogFont
 * VioCreatePS
 * VioDeleteSetId
 * VioDestroyPS
 * VioGetDeviceCellSize
 * VioQueryFonts
 * VioQuerySetIds
 * VioSetDeviceCellSize
 * VioShowPS

Icon Legend

 * [[image:Att.gif]]: It seems that these functions were not implemented on the OS/2 4.5 Toolkit.
 * [[Image:Conf.gif]]: These functions were documented on the Addendum of the OS/2 4.5 Toolkit.
 * [[image:Vraag.gif]]: More information is required on this function.

Legacy Functions
This are the legacy functions of the Control Program Interface API. This functions are supposed to be replaced by the newer ones, but some of these are still required for older programs to work or because some newer functions weren't implemented correctly.

Date / Time

 * DosGetDateTime
 * DosSetDateTime

Device I/O

 * DosBeep
 * DosDevConfig (Legacy)
 * DosDevIOCtl
 * DosDevIOCtl2
 * DosPhysicalDisk

Dynamic Linking Library

 * DosGetModHandle
 * DosGetModName

Monitor functions

 * DosMonClose
 * DosMonOpen
 * DosMonRead
 * DosMonReg
 * DosMonWrite

Dynamic Link Library

 * DosFreeModule
 * DosLoadModule
 * DosQAppType

Error Management

 * DosErrClass
 * DosError
 * DosPTrace
 * DosLogRegister (OS/2 2.0 and 1.3)
 * DosLogEntry (OS/2 2.0 and 1.3)
 * DosLogRead (OS/2 2.0 and 1.3)

Exception Management

 * DosSendSignal

Directory Searching

 * DosFindFirst
 * DosFindFirst2
 * DosFindNext

Directory

 * DosChDir
 * DosMkDir
 * DosMkDir2
 * DosRmDir
 * DosQCurDir

Disk

 * DosQCurDisk
 * DosSelectDisk

Environment/Path

 * DosScanEnv
 * DosSearchPath

File Manipulation

 * DosChgFilePtr
 * DosClose
 * DosCopy
 * DosDelete
 * DosEditName
 * DosFileLocks
 * DosMove
 * DosOpen
 * DosOpen2
 * DosRead
 * DosSetFileInfo
 * DosSetPathInfo
 * DosSetVerify
 * DosWrite
 * DosNewSize
 * DosSetFileMode

File Handle Manipulation

 * DosDupHandle
 * DosSetMaxFH
 * DosBufReset
 * DosQFHandState
 * DosQHandType
 * DosSetFHandState
 * DosQFHState

File Querying

 * DosEnumAttribute
 * DosQFileInfo
 * DosQFileMode
 * DosQPathInfo
 * DosQSysInfo
 * DosQVerify

File System Functions

 * DosFSAttach
 * DosFSCtl
 * DosSetFSInfo
 * DosShutdown
 * DosQFSAttach
 * DosQFSInfo

Memory Management

 * DosSubAlloc
 * DosAllocSeg
 * DosAllocShrSeg
 * DosAllocHuge
 * DosFreeSeg
 * DosGetSeg
 * DosGiveSeg
 * DosLockSeg
 * DosMemAvail
 * DosSizeSeg
 * DosUnlockSeg
 * DosReallocHuge
 * DosReallocSeg

Heap Memory

 * DosSubFree
 * DosSubSet

Message Management

 * DosGetMessage
 * DosPutMessage
 * DosInsMessage
 * DosTrueGetMessage [[image:Vraag.gif]]
 * DosIQueryMessageCP [[image:Vraag.gif]]
 * DosCloseMessageFile [[image:Vraag.gif]]

National Language/Code Page

 * DosCaseMap
 * DosGetCollate
 * DosGetCp
 * DosGetCtryInfo
 * DosGetDBCSEv
 * DosSetCp
 * DosSetProcCp

Pipes

 * Named Pipes
 * DosCallNmPipe
 * DosConnectNmPipe
 * DosDisConnectNmPipe
 * DosMakeNmPipe
 * DosMakePipe
 * DosPeekNmPipe
 * DosQNmPipeInfo
 * DosQNmPipeSemState
 * DosSetNmPipeSem
 * DosTransactNmPipe
 * DosWaitNmPipe
 * DosQNmPHandState
 * DosSetNmPHandState

Queues

 * DosCloseQueue
 * DosQueryQueue
 * DosWriteQueue


 * Server
 * DosCreateQueue
 * DosPeekQueue
 * DosPurgeQueue
 * DosReadQueue


 * Client
 * DosOpenQueue

Resource Management

 * DosFreeResource
 * DosGetResource
 * DosGetResource2

Semaphores

 * DosCloseSem
 * DosCreateSem
 * DosFSRamSemClear
 * DosFSRamSemRequest
 * DosOpenSem
 * DosSemClear
 * DosSemRequest
 * DosSemSet
 * DosSemSetWait
 * DosSemWait
 * DosPMSemWait
 * DosPMMuxSemWait

MuxWait Semaphores

 * DosMuxSemWait

Processes/Threading

 * DosExit
 * DosSetPrty

Processes

 * DosEnterCritSec
 * DosExecPgm
 * DosExitCritSec
 * DosExitList
 * DosKillProcess
 * DosCWait
 * DosGetPID
 * DosGetPPID
 * DosGetInfoSeg

Threads

 * DosCreateThread
 * DosResumeThread
 * DosSleep
 * DosSuspendThread

Session Management

 * DosSelectSession
 * DosSetSession
 * DosStartSession
 * DosStopSession


 * Screen Group
 * DosSMSGDoPopup
 * DosSMSGEndPopup


 * DosSMSwitch
 * DosSMServeAppReq
 * DosGetTimes
 * DosSMSetTitle
 * DosScrUnlock
 * DosSMDoAppReq
 * DosScrLock
 * DosSavRedrawWait
 * DosSavRedrawUndo
 * DosSetMNLockTime
 * DosModeUndo
 * DosSMGetStatus
 * DosModeWait
 * DosSMTerminate
 * DosSMGetAppReq
 * DosSMRealPrtSc
 * DosSMInitialize
 * DosSMStart
 * DosSMParentSwitch
 * DosSMPause
 * DosSMHDEInit
 * DosSMPMPresent
 * DosSMRegisterDD
 * DosSMSysInit
 * DosSMNotifyDD
 * DosSMNotifyDD2
 * DosSMOpenDD
 * DosSMSetSessionType
 * DosRegisterNotification

Quickhelp

 * QhKeybdHandle
 * QhMouseHandle

Timer

 * DosTimerAsync
 * DosTimerStart
 * DosTimerStop

Addressing

 * DosFlatToSel
 * DosSelToFlat
 * DosGetShrSeg

Spool

 * DosPFSActivate
 * DosPFSCloseUser
 * DosPFSInit
 * DosPFSQueryAct
 * DosPFSVerifyFont

To SORT

 * DosCallback
 * DosCLIAccess
 * DosCreateCSAlias
 * DosFileIO
 * DosFindClose
 * DosFlagProcess
 * DosGetEnv
 * DosGetHugeShift
 * DosGetMachineMode


 * DosGetProcAddr
 * DosGetPrty
 * DosGetVersion
 * DosHoldSignal


 * DosPortAccess
 * DosR2StackRealloc
 * DosReadAsync


 * DosSetSigHandler
 * DosSetVec
 * DosSMRegisterDD
 * DosWriteAsync
 * DosSysCtl [[image:Vraag.gif]]
 * DosQueryRASInfo [[image:Vraag.gif]]
 * DosRawReadNPipe [[image:Vraag.gif]]
 * DosRawWriteNPipe [[image:Vraag.gif]]

Keyboard functions

 * KbdCharIn (FAPI)
 * KbdFlushBuffer_(FAPI)
 * KbdGetCp (FAPI)
 * KbdSetCp (FAPI)
 * KbdPeek (FAPI)
 * KbdRegister
 * KbdDeRegister
 * KbdOpen
 * KbdClose
 * KbdGetFocus
 * KbdFreeFocus
 * KbdSynch
 * KbdSetFgnd
 * KbdGetHWId
 * KbdSetHWID [[image:Vraag.gif]]
 * KbdSetCustXt
 * KbdGetStatus
 * KbdSetStatus
 * KbdStringIn
 * KbdXlate
 * KbdInit [[image:Vraag.gif]]

Mouse functions

 * MouRegister
 * MouDeRegister
 * MouOpen
 * MouClose
 * MouInitReal
 * MouSynch
 * MouDrawPtr
 * MouFlushQue
 * MouGetDevStatus
 * MouGetEventMask
 * MouGetNumButtons
 * MouGetNumMickeys
 * MouGetNumQueEl
 * MouGetPtrPos ** (review)
 * MouGetPtrShape
 * MouGetScaleFact
 * MouReadEventQue
 * MouRemovePtr
 * MouSetDevStatus
 * MouSetEventMask
 * MouSetPtrPos
 * MouSetPtrShape
 * MouSetScaleFact
 * MouShellInit [[image:Vraag.gif]]
 * MouGetHotKey [[image:Vraag.gif]]
 * MouSetHotKey [[image:Vraag.gif]]
 * MouFree [[image:Vraag.gif]]

Video I/O functions

 * VioRegister
 * VioGlobalReg
 * VioDeRegister
 * VioGetPhysBuf
 * VioScrollDn
 * VioScrollLf
 * VioScrollRt
 * VioCheckCharType [[image:Vraag.gif]]
 * VioPrtSc
 * VioPrtScToggle
 * VioRedrawSize [[image:Vraag.gif]]
 * VioGetFont
 * VioSetFont
 * VioEndPopUp
 * VioGetAnsi
 * VioGetBuf
 * VioGetConfig
 * VioGetCp
 * VioGetCurPos
 * VioGetCurType
 * VioGetMode
 * VioGetState
 * VioModeUndo
 * VioModeWait
 * VioPopUp
 * VioReadCellStr
 * VioReadCharStr
 * VioSavRedrawUndo
 * VioSavRedrawWait
 * VioScrLock
 * VioScrollUp
 * VioScrUnLock
 * VioSetAnsi
 * VioSetCp
 * VioSetCurPos
 * VioSetCurType
 * VioSetMode
 * VioSetState
 * VioShowBuf
 * VioWrtCellStr
 * VioWrtCharStr
 * VioWrtCharStrAtt
 * VioWrtNAttr
 * VioWrtNCell
 * VioWrtNChar
 * VioWrtTTY
 * VioQueryConsole [[image:Vraag.gif]]

Advanced VIO

 * VioGetOrg [[image:Vraag.gif]]
 * VioSetOrg [[image:Vraag.gif]]
 * WinDefAVioWindowProc [[image:Vraag.gif]]

Legend

 * [[image:Vraag.gif]]: More information is required on this function. Information was not available on CP1 or PRCP books.