Jump to content

Control Program Functions: Difference between revisions

From EDM2
Ak120 (talk | contribs)
structure
 
(15 intermediate revisions by 2 users not shown)
Line 49: Line 49:
*[[DosScanEnv]] - Gets information for a file or subdirectory
*[[DosScanEnv]] - Gets information for a file or subdirectory
*[[DosSearchPath]] - Scans environment variable
*[[DosSearchPath]] - Scans environment variable
*DosQueryPathInfo - Searches along a specified path
*[[DosQueryPathInfo]] - Searches along a specified path
*DosSetPathInfo - Sets information for a file or subdirectory
*[[DosSetPathInfo]] - Sets information for a file or subdirectory


===Extended LIBPATH Search Path Functions===
===Extended LIBPATH Search Path Functions===
Line 66: Line 66:
*[[DosSubAllocMem]] - Suballocates a block of memory from a heap that was previously initialized
*[[DosSubAllocMem]] - Suballocates a block of memory from a heap that was previously initialized
*[[DosSubFreeMem]] - Frees a block of memory that was previously suballocated
*[[DosSubFreeMem]] - Frees a block of memory that was previously suballocated
*[[DosSubSetMem]] - Initializes a heap for suballocation, or increases the size of a previously initialized heap
*[[DosSubSetMem]] - Initializes a heap for suballocation, or increases the size of a previously initialized heap
*[[DosSubUnsetMem]] - Terminates the use of a heap
*[[DosSubUnsetMem]] - Terminates the use of a heap


Line 99: Line 99:


===Session Control Functions===
===Session Control Functions===
*[[DosSelectSession]]
*[[DosSelectSession]] - Selects a child session
*[[DosSetSession]] - Sets the status of a child session
*[[DosSetSession]] - Sets the status of a child session
*[[DosStartSession]] - Starts an unrelated or child session
*[[DosStartSession]] - Starts an unrelated or child session
Line 199: Line 199:


==Message Management Functions==
==Message Management Functions==
*[[DosGetMessage]]
*[[DosGetMessage]] - Retrieves a message from a message file
*[[DosInsertMessage]]
*[[DosInsertMessage]] - Inserts variable text into message
*[[DosPutMessage]] - Sends a message to an output file or device
*[[DosPutMessage]] - Sends a message to an output file or device
*[[DosQueryMessageCP]] - Retrieves a message file list of code pages and language identifiers
*[[DosQueryMessageCP]] - Retrieves a message file list of code pages and language identifiers
Line 227: Line 227:


==Dos...==
==Dos...==
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
===Unsorted===
*[[DosAliasMem]] [[Image:Conf.gif]]
*[[DosAliasMem]]
*[[DosQueryMemState]] [[Image:Conf.gif]]
*[[DosQueryMemState]]
*[[DosListIO]]
*[[DosListIO]]
*[[DosListIOL]]
*[[DosQueryAppType]]
*[[DosQueryAppType]]
*[[DosQueryProcType]]
*[[DosQueryProcType]]
Line 237: Line 236:


=== Date/Time ===
=== Date/Time ===
* [[DosGetDateTime]]
*[[DosGetDateTime]]
* [[DosSetDateTime]]
*[[DosSetDateTime]]
* [[DosTmrQueryFreq]]
 
* [[DosTmrQueryTime]]
===Timer===
*[[DosTmrQueryFreq]]
*[[DosTmrQueryTime]]


=== Error Management ===
=== Error Management ===
* [[DosSuppressPopUps]]
*[[DosSuppressPopUps]]
* [[DosDumpProcess]]  [[Image:Conf.gif]]
*[[DosDumpProcess]]
* [[DosForceSystemDump]] [[Image:Conf.gif]]
*[[DosForceSystemDump]]
* [[Dos16SysTrace]] [[Image:Conf.gif]]
*[[Dos16SysTrace]]


=== Exception Management ===
=== Exception Management ===
* [[DosQueryModFromEIP]] [[Image:Conf.gif]]
*[[DosQueryModFromEIP]]
* [[Dos16QueryModFromCS]] [[Image:Conf.gif]]
*[[Dos16QueryModFromCS]]
 
===Large File System===
*[[DosCancelLockRequestL]]
*[[DosListIOL]] - Performs the specified number of seek/read or seek/write operations
*[[DosOpenL]] - Opens a file
*[[DosProtectOpenL]] - Opens a file returning a protected file handle
*[[DosProtectSetFileLocksL]] - Locks and unlocks a range of an open file
*[[DosProtectSetFilePtrL]] - Moves the read or write pointer
*[[DosProtectSetFileSizeL]] - Changes the size of a file
*[[DosSetFileLocksL]] - Locks and unlocks a range of an open file
*[[DosSetFilePtrL]] - Moves the read or write pointer
*[[DosSetFileSizeL]] - Changes the size of a file


=== File Systems/File Management ===
==== File Manipulation ====
==== File Manipulation ====
* [[DosCancelLockRequest]]
*[[DosCancelLockRequest]]
* [[DosCancelLockRequestL]] [[Image:Conf.gif]]
*[[DosProtectClose]]
* [[DosProtectClose]]
*[[DosForceDelete]]
* [[DosForceDelete]]
*[[DosProtectOpen]]
* [[DosOpenL]] [[Image:Conf.gif]]
*[[DosReplaceModule]]
* [[DosProtectOpen]]
*[[DosProtectRead]]
* [[DosProtectOpenL]] [[Image:Conf.gif]]
*[[DosProtectSetFileInfo]]
* [[DosReplaceModule]] [[Image:Conf.gif]]
*[[DosProtectSetFileLocks]]
* [[DosProtectRead]]
*[[DosProtectSetFilePtr]]
* [[DosProtectSetFileInfo]]
*[[DosProtectSetFileSize]]
* [[DosSetFileLocksL]] [[Image:Conf.gif]]
*[[DosProtectWrite]]
* [[DosProtectSetFileLocks]]
* [[DosProtectSetFileLocksL]] [[Image:Conf.gif]]
* [[DosSetFilePtrL]] [[Image:Conf.gif]]
* [[DosProtectSetFilePtr]]
* [[DosProtectSetFilePtrL]] [[Image:Conf.gif]]
* [[DosSetFileSizeL]] [[Image:Conf.gif]]
* [[DosProtectSetFileSize]]
* [[DosProtectSetFileSizeL]] [[Image:Conf.gif]]
* [[DosProtectWrite]]


==== File Handle Manipulation ====
==== File Handle Manipulation ====
* [[DosProtectQueryFHState]]
*[[DosProtectQueryFHState]]
* [[DosResetBuffer]]
*[[DosResetBuffer]]
* [[DosProtectSetFHState]]
*[[DosProtectSetFHState]]
* [[DosSetRelMaxFH]]
*[[DosSetRelMaxFH]]


==== File Querying ====
==== File Querying ====
* [[DosProtectEnumAttribute]]
*[[DosProtectEnumAttribute]]
* [[DosQueryFileMode]] [[image:Att.gif]] [[image:Vraag.gif]] [https://books.google.com.ec/books?id=u7WbsmbttwYC&pg=PT372&lpg=PT372&dq#v=onepage&q&f=false]
*[[DosQueryFileMode]]
* [[DosProtectQueryFileInfo]]
*[[DosProtectQueryFileInfo]]
* [[DosQuerySysState]] [[Image:Conf.gif]]
*[[DosQuerySysState]]
* [[DosPerfSysCall]]
*[[DosPerfSysCall]]
* [[DosGetProcessorStatus]] [[Image:Conf.gif]]
*[[DosGetProcessorStatus]]
* [[DosSetProcessorStatus]] [[Image:Conf.gif]]
*[[DosSetProcessorStatus]]
* [[DosQueryABIOSSupport]] [[Image:Conf.gif]]
*[[DosQueryABIOSSupport]]


==== File System Functions ====
==== File System Functions ====
* [[DosFSAttach]]
*[[DosFSAttach]]
* [[DosFSCtl]]
*[[DosFSCtl]]
* [[DosQueryFSAttach]]
*[[DosQueryFSAttach]]
* [[DosQueryFSInfo]]
*[[DosQueryFSInfo]]
* [[DosResetBuffer]]
*[[DosResetBuffer]]
* [[DosSetFSInfo]]
*[[DosSetFSInfo]]
* [[DosShutdown]]
*[[DosShutdown]]


=== Resource Management ===
=== Resource Management ===
Line 306: Line 309:


==== Threads ====
==== Threads ====
*[[DosCreateThread2]] [[Image:Conf.gif]]
*[[DosCreateThread2]]
*[[DosQueryThreadAffinity]] [[Image:Conf.gif]]
*[[DosQueryThreadAffinity]]
*[[DosQueryThreadContext]]
*[[DosQueryThreadContext]]
*[[DosSetThreadAffinity]] [[Image:Conf.gif]]
*[[DosSetThreadAffinity]]
*[[DosVerifyPidTid]] [[Image:Conf.gif]]
*[[DosVerifyPidTid]]


=== VDD ===
=== VDD ===
Line 316: Line 319:
*[[DosOpenVDD]]
*[[DosOpenVDD]]
*[[DosRequestVDD]]
*[[DosRequestVDD]]
</div>


==Kbd, Mou, Vio==
==Kbd, Mou, Vio==
Line 370: Line 372:
*[[VioWrtCellStr]]
*[[VioWrtCellStr]]
*[[VioWrtCharStr]]
*[[VioWrtCharStr]]
*[[VioScrollUp]] [[image:Att.gif]]
*[[VioScrollUp]]
*[[VioScrollDown]] [[image:Att.gif]]
*[[VioScrollDown]]
*[[VioScrollLeft]] [[image:Att.gif]]
*[[VioScrollLeft]]
*[[VioScrollRight]] [[image:Att.gif]]
*[[VioScrollRight]]
*[[VioWrtNAttr]]
*[[VioWrtNAttr]]
*[[VioWrtNCell]]
*[[VioWrtNCell]]
Line 411: Line 413:
*[[VioShowPS]]
*[[VioShowPS]]


=== Icon Legend===
== OS/2 1.x Functions ==
* [[image:Att.gif]]: It seems that these functions were not implemented on the OS/2 4.5 Toolkit.
Function calls for OS/2 1.x that offer compatibility with DOS via [[Family API]] or Windows NT OS/2 subsystem.
* [[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 ==
===Dos===
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 (OS/2 1.x)|DosGetDateTime]]
*[[DosSetDateTime (OS/2 1.x)|DosSetDateTime]]


<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
====Device I/O====
=== Date / Time ===
*[[DosBeep (OS/2 1.x)|DosBeep]]
* [[DosGetDateTime (Legacy)|DosGetDateTime]]
*[[DosDevConfig (OS/2 1.x)|DosDevConfig]]
* [[DosSetDateTime (Legacy)|DosSetDateTime]]
*[[DosDevIOCtl (FAPI)|DosDevIOCtl]]
*[[DosDevIOCtl2]]
*[[DosPhysicalDisk (FAPI)|DosPhysicalDisk]]


=== Device I/O ===
====Dynamic Linking Library====
* [[DosBeep (Legacy)|DosBeep]]
*[[DosFreeModule (OS/2 1.x)|DosFreeModule]]
* [[DosDevConfig|DosDevConfig]]
*[[DosGetModHandle]]
* [[DosDevIOCtl|DosDevIOCtl]]
*[[DosGetModName]]
* [[DosDevIOCtl2|DosDevIOCtl2]]
*[[DosLoadModule (OS/2 1.x)|DosLoadModule]]
* [[DosPhysicalDisk|DosPhysicalDisk]]
*[[DosQAppType]]


=== Dynamic Linking Library ===  
====Monitor functions====
* [[DosGetModHandle|DosGetModHandle]]
*[[DosMonClose]]
* [[DosGetModName|DosGetModName]]
*[[DosMonOpen]]
*[[DosMonRead]]
*[[DosMonReg]]
*[[DosMonWrite]]


==== Monitor functions ====
====Error Management====
* [[DosMonClose|DosMonClose]]
*[[DosErrClass (FAPI)|DosErrClass]]
* [[DosMonOpen|DosMonOpen]]
*[[DosError (FAPI)|DosError]]
* [[DosMonRead|DosMonRead]]
*[[DosPTrace]]
* [[DosMonReg|DosMonReg]]
OS/2 2.0 and 1.3 only:
* [[DosMonWrite|DosMonWrite]]
*[[DosLogRegister]]
*[[DosLogEntry]]
*[[DosLogRead]]


=== Dynamic Link Library ===
====Exception Management====
* [[DosFreeModule|DosFreeModule]]
*[[DosHoldSignal]]
* [[DosLoadModule|DosLoadModule]]
*[[DosSendSignal]]
* [[DosQAppType|DosQAppType]]
*[[DosSetSigHandler]]


=== Error Management ===
====File Systems/File Management====
* [[DosErrClass|DosErrClass]]
Directory Searching:
* [[DosError|DosError]]
*[[DosFindClose]]
* [[DosPTrace]]
*[[DosFindFirst (FAPI)|DosFindFirst]]
* [[DosLogRegister|DosLogRegister]] *  (OS/2 2.0 and 1.3)
*[[DosFindFirst2]]
* [[DosLogEntry|DosLogEntry]] *  (OS/2 2.0 and 1.3)
*[[DosFindNext (FAPI)|DosFindNext]]
* [[DosLogRead|DosLogRead]] * (OS/2 2.0 and 1.3)


===Exception Management===
Directory Handling:
* [[DosSendSignal|DosSendSignal]]
*[[DosChDir]]
*[[DosMkDir]]
*[[DosMkDir2]]
*[[DosRmDir]]
*[[DosQCurDir]]


=== File Systems/File Management ===
====Disk====
==== Directory Searching ====
*[[DosQCurDisk]]
* [[DosFindFirst]]
*[[DosSelectDisk]]
* [[DosFindFirst2]]
* [[DosFindNext]]


====Directory====
====Environment/Path====
* [[DosChDir]]
*[[DosScanEnv (OS/2 1.x)|DosScanEnv]]
* [[DosMkDir]]
*[[DosSearchPath (OS/2 1.x)|DosSearchPath]]
* [[DosMkDir2|DosMkDir2]]
* [[DosRmDir|DosRmDir]]
* [[DosQCurDir|DosQCurDir]]


====Disk====
====File Manipulation====
* [[DosQCurDisk|DosQCurDisk]]
*[[DosChgFilePtr]]
* [[DosSelectDisk|DosSelectDisk]]
*[[DosClose (FAPI)|DosClose]]
*[[DosCopy (OS/2 1.x)|DosCopy]]
*[[DosDelete (FAPI)|DosDelete]]
*[[DosEditName (FAPI)|DosEditName]]
*[[DosFileLocks]]
*[[DosMove (FAPI)|DosMove]]
*[[DosOpen (FAPI)|DosOpen]]
*[[DosOpen2]]
*[[DosRead (FAPI)|DosRead]]
*[[DosReadAsync]]
*[[DosSetFileInfo (FAPI)|DosSetFileInfo]]
*[[DosSetPathInfo (OS/2 1.x)|DosSetPathInfo]]
*[[DosSetVerify (FAPI)|DosSetVerify]]
*[[DosWrite (FAPI)|DosWrite]]
*[[DosWriteAsync]]
*[[DosNewSize]]
*[[DosSetFileMode]]


==== Enviroment/Path ====
====File Handle Manipulation====
* [[DosScanEnv|DosScanEnv]]
*[[DosSetMaxFH (OS/2 1.x)|DosSetMaxFH]]
* [[DosSearchPath|DosSearchPath]]
*[[DosBufReset]]
*[[DosQFHandState]]
*[[DosQHandType]]
*[[DosSetFHandState]]


==== File Manipulation====
====File Querying====
* [[DosChgFilePtr|DosChgFilePtr]]
*[[DosEnumAttribute (OS/2 1.x)|DosEnumAttribute]]
* [[DosClose|DosClose]]
*[[DosQFileInfo]]
* [[DosCopy|DosCopy]]
*[[DosQFileMode]]
* [[DosDelete|DosDelete]]
*[[DosQPathInfo]]
* [[DosEditName|DosEditName]]
*[[DosQSysInfo]]
* [[DosFileLocks|DosFileLocks]]
*[[DosQVerify]]
* [[DosMove|DosMove]]
* [[DosOpen|DosOpen]]
* [[DosOpen2|DosOpen2]]
* [[DosRead|DosRead]]
* [[DosSetFileInfo|DosSetFileInfo]]
* [[DosSetPathInfo|DosSetPathInfo]]
* [[DosSetVerify|DosSetVerify]]
* [[DosWrite|DosWrite]]
* [[DosNewSize|DosNewSize]]
* [[DosSetFileMode|DosSetFileMode]]


==== File Handle Manipulation ====
====File System Functions====
* [[DosSetMaxFH|DosSetMaxFH]]
*[[DosFSAttach (OS/2 1.x)|DosFSAttach]]
* [[DosBufReset|DosBufReset]]
*[[DosFSCtl (OS/2 1.x)|DosFSCtl]]
* [[DosQFHandState|DosQFHandState]]
*[[DosSetFSInfo (OS/2 1.x)|DosSetFSInfo]]
* [[DosQHandType|DosQHandType]]
*[[DosShutdown (OS/2 1.x)|DosShutdown]]
* [[DosSetFHandState|DosSetFHandState]]
*[[DosQFSAttach]]
*[[DosQFSInfo]]


==== File Querying ====
====Memory Management====
* [[DosEnumAttribute|DosEnumAttribute]]
*[[DosAllocSeg]]
* [[DosQFileInfo|DosQFileInfo]]
*[[DosAllocShrSeg]]
* [[DosQFileMode|DosQFileMode]]
*[[DosFreeSeg]]
* [[DosQPathInfo|DosQPathInfo]]
*[[DosGetSeg]]
* [[DosQSysInfo|DosQSysInfo]]
*[[DosGetShrSeg]]
* [[DosQVerify|DosQVerify]]
*[[DosGiveSeg]]
*[[DosLockSeg]]
*[[DosMemAvail]]
*[[DosSizeSeg]]
*[[DosUnlockSeg]]
*[[DosReallocSeg]]


==== File System Functions====
;Huge block
* [[DosFSAttach|DosFSAttach]]
*[[DosAllocHuge]]
* [[DosFSCtl|DosFSCtl]]
*[[DosReallocHuge]]
* [[DosSetFSInfo|DosSetFSInfo]]
* [[DosShutdown|DosShutdown]]
* [[DosQFSAttach|DosQFSAttach]]
* [[DosQFSInfo|DosQFSInfo]]


=== Memory Management ===
;Heap
* [[DosSubAlloc]]
*[[DosSubAlloc]]
* [[DosAllocSeg]]
*[[DosSubFree]]
* [[DosAllocShrSeg]]
*[[DosSubSet]]
* [[DosAllocHuge]]
* [[DosFreeSeg]]
* [[DosGetSeg]]
* [[DosGiveSeg]]
* [[DosLockSeg]]
* [[DosMemAvail]]
* [[DosSizeSeg]]
* [[DosUnlockSeg]]
* [[DosReallocHuge]]
* [[DosReallocSeg]]


==== Heap Memory ====
====Message Management====
* [[DosSubFree]]
*[[DosGetMessage (OS/2 1.x)|DosGetMessage]]
* [[DosSubSet]]
*[[DosPutMessage (FAPI)|DosPutMessage]]
*[[DosInsMessage]]
*[[DosTrueGetMessage]]
*[[DosIQueryMessageCP]]
*[[DosCloseMessageFile]]


=== Message Management ===
====National Language/Code Page====
* [[DosGetMessage|DosGetMessage]]
*[[DosCaseMap (FAPI)|DosCaseMap]]
* [[DosPutMessage|DosPutMessage]]
*[[DosGetCollate]]
* [[DosInsMessage|DosInsMessage]]
*[[DosGetCp]]
* [[DosTrueGetMessage|DosTrueGetMessage]] [[image:Vraag.gif]]
*[[DosGetCtryInfo]]
* [[DosIQueryMessageCP|DosIQueryMessageCP]] [[image:Vraag.gif]]
*[[DosGetDBCSEv]]
* [[DosCloseMessageFile|DosCloseMessageFile]] [[image:Vraag.gif]]
*[[DosSetCp]]
*[[DosSetProcCp]]


=== National Language/Code Page ===
====Named Pipes====
* [[DosCaseMap (FAPI)|DosCaseMap]]
*[[DosCallNmPipe]] -
* [[DosGetCollate|DosGetCollate]]
*[[DosConnectNmPipe]] - enables named pipe to be opened
* [[DosGetCp]]
*[[DosDisConnectNmPipe]]
* [[DosGetCtryInfo|DosGetCtryInfo]]
*[[DosMakeNmPipe]]
* [[DosGetDBCSEv|DosGetDBCSEv]]
*[[DosMakePipe]]
* [[DosSetCp|DosSetCp]]
*[[DosPeekNmPipe]]
* [[DosSetProcCp|DosSetProcCp]]
*[[DosQNmPipeInfo]]
*[[DosQNmPipeSemState]]
*[[DosQNmPHandState]]
*[[DosRawReadNPipe]]
*[[DosRawWriteNPipe]]
*[[DosSetNmPHandState]]
*[[DosSetNmPipeSem]]
*[[DosTransactNmPipe]]
*[[DosWaitNmPipe]]


=== Pipes ===
====Resource Management====
====Named Pipes====
*[[DosFreeResource (OS/2 1.x)|DosFreeResource]]
* [[DosCallNmPipe|DosCallNmPipe]]
*[[DosGetResource (OS/2 1.x)|DosGetResource]]
* [[DosConnectNmPipe|DosConnectNmPipe]]
*[[DosGetResource2]]
* [[DosDisConnectNmPipe|DosDisConnectNmPipe]]
 
* [[DosMakeNmPipe|DosMakeNmPipe]]
====Semaphores====
* [[DosMakePipe|DosMakePipe]]
*[[DosCloseSem]]
* [[DosPeekNmPipe|DosPeekNmPipe]]
*[[DosCreateSem]]
* [[DosQNmPipeInfo|DosQNmPipeInfo]]
*[[DosFSRamSemClear]]
* [[DosQNmPipeSemState|DosQNmPipeSemState]]
*[[DosFSRamSemRequest]]
* [[DosSetNmPipeSem|DosSetNmPipeSem]]
*[[DosOpenSem]]
* [[DosTransactNmPipe|DosTransactNmPipe]]
*[[DosSemClear]]
* [[DosWaitNmPipe|DosWaitNmPipe]]
*[[DosSemRequest]]
* [[DosQNmPHandState|DosQNmPHandState]]
*[[DosSemSet]]
* [[DosSetNmPHandState|DosSetNmPHandState]]
*[[DosSemSetWait]]
*[[DosSemWait]]
*[[DosPMSemWait]]


=== Resource Management ===
====MuxWait Semaphores====
* [[DosFreeResource|DosFreeResource]]
*[[DosMuxSemWait]]
* [[DosGetResource|DosGetResource]]
*[[DosPMMuxSemWait]]
* [[DosGetResource2|DosGetResource2]]


=== Semaphores ===
====Processes/Threading====
* [[DosCloseSem]]
*[[DosCallback]]
* [[DosCreateSem]]
*[[DosExit (FAPI)|DosExit]]
* [[DosFSRamSemClear]]
*[[DosGetPrty]]
* [[DosFSRamSemRequest]]
*[[DosSetPrty]]
* [[DosOpenSem]]
* [[DosSemClear]]
* [[DosSemRequest]]
* [[DosSemSet]]
* [[DosSemSetWait]]
* [[DosSemWait]]
* [[DosPMSemWait]]  [[image:Vraag.gif]]
* [[DosPMMuxSemWait]]  [[image:Vraag.gif]]


==== MuxWait Semaphores ====
====Processes====
* [[DosMuxSemWait]]
*[[DosCWait]]
*[[DosEnterCritSec (OS/2 1.x)|DosEnterCritSec]]
*[[DosExitCritSec (OS/2 1.x)|DosExitCritSec]]
*[[DosExitList (OS/2 1.x)|DosExitList]]
*[[DosExecPgm (FAPI)|DosExecPgm]]
*[[DosFlagProcess]]
*[[DosGetInfoSeg]]
*[[DosGetPID]]
*[[DosGetPPID]]
*[[DosKillProcess (OS/2 1.x)|DosKillProcess]]


=== Processes/Threading ===
====Session Management====
* [[DosExit|DosExit]]
*[[DosSelectSession (OS/2 1.x)|DosSelectSession]]
* [[DosSetPrty|DosSetPrty]]
*[[DosSetSession (OS/2 1.x)|DosSetSession]]
*[[DosStartSession (OS/2 1.x)|DosStartSession]]
*[[DosStopSession (OS/2 1.x)|DosStopSession]]


==== Processes ====
;Session Manager
* [[DosEnterCritSec|DosEnterCritSec]]
*[[DosSMDoAppReq]]
* [[DosExecPgm|DosExecPgm]]
*[[DosSMGetAppReq]]
* [[DosExitCritSec|DosExitCritSec]]
*[[DosSMGetStatus]]
* [[DosExitList|DosExitList]]
*[[DosSMHDEInit]]
* [[DosKillProcess|DosKillProcess]]
*[[DosSMInitialize]]
* [[DosCWait]]
*[[DosSMNotifyDD]]
* [[DosGetPID|DosGetPID]]
*[[DosSMNotifyDD2]]
* [[DosGetPPID|DosGetPPID]]
*[[DosSMOpenDD]]
* [[DosGetInfoSeg|DosGetInfoSeg]]
*[[DosSMParentSwitch]]
*[[DosSMPause]]
*[[DosSMPMPresent]]
*DosSMRealPrtSc
*[[DosSMRegisterDD]]
*[[DosSMServeAppReq]]
*[[DosSMSetSessionType]]
*[[DosSMSetTitle]]
*[[DosSMStart]]
*[[DosSMSwitch]]
*[[DosSMSysInit]]
*[[DosSMTerminate]]


=== Session Management===
;Screen Group
* [[DosSelectSession (OS/2 1.x)|DosSelectSession]]
*[[DosSMSGDoPopup]]
* [[DosSetSession (OS/2 1.x)|DosSetSession]]
*[[DosSMSGEndPopup]]
* [[DosStartSession (OS/2 1.x)|DosStartSession]]
* [[DosStopSession (OS/2 1.x)|DosStopSession]]


=== Screen Group ===
*[[DosGetTimes]]
* [[DosSMSGDoPopup]]
*[[DosScrUnlock]]
* [[DosSMSGEndPopup]]
*[[DosScrLock]]
*[[DosSavRedrawWait]]
*[[DosSavRedrawUndo]]
*[[DosSetMNLockTime]]
*[[DosModeUndo]]
*[[DosModeWait]]
*[[DosRegisterNotification]]


* [[DosSMSwitch]]
====Timer====
* [[DosSMServeAppReq]]
*[[DosTimerAsync]]
* [[DosGetTimes]]
*[[DosTimerStart]]
* [[DosSMSetTitle]]
*[[DosTimerStop]]
* [[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 ===
====Addressing====
* [[QhKeybdHandle]]
*[[DosFlatToSel]]
* [[QhMouseHandle]]
*[[DosSelToFlat]]


=== Timer ===
====Spool====
* [[DosTimerAsync|DosTimerAsync]]
''Not found on OS2TK45''
* [[DosTimerStart|DosTimerStart]]
*[[DosPFSActivate]]
* [[DosTimerStop|DosTimerStop]]
*[[DosPFSCloseUser]]
*[[DosPFSInit]]
*[[DosPFSQueryAct]]
*[[DosPFSVerifyFont]]


=== Addressing ===
====I/O Privileges====
* [[DosFlatToSel|DosFlatToSel]] [[image:Vraag.gif]]
*[[DosCLIAccess]]
* [[DosSelToFlat|DosSelToFlat]] [[image:Vraag.gif]]
*[[DosPortAccess]]


=== Spool ===
====Segments====
* [[DosPFSActivate|DosPFSActivate]] * Not found on OS2TK45
*[[DosCreateCSAlias]]
* [[DosPFSCloseUser|DosPFSCloseUser]] * Not found on OS2TK45
* [[DosPFSInit|DosPFSInit]] * Not found on OS2TK45
* [[DosPFSQueryAct|DosPFSQueryAct]] * Not found on OS2TK45
* [[DosPFSVerifyFont|DosPFSVerifyFont]] * Not found on OS2TK45


===To SORT===
*[[DosFileIO]]


* [[DosCallback|DosCallback]]
*[[DosGetEnv]]
* [[DosCLIAccess|DosCLIAccess]]
*[[DosGetHugeShift]]
* [[DosCreateCSAlias|DosCreateCSAlias]]
*[[DosGetMachineMode]]
* [[DosFileIO|DosFileIO]]
* [[DosFindClose|DosFindClose]]
* [[DosFlagProcess|DosFlagProcess]]
* [[DosGetEnv|DosGetEnv]]
* [[DosGetHugeShift|DosGetHugeShift]]
* [[DosGetMachineMode|DosGetMachineMode]]


* [[DosGetProcAddr|DosGetProcAddr]]
*[[DosGetProcAddr]]
* [[DosGetPrty|DosGetPrty]]
* [[DosGetShrSeg|DosGetShrSeg]]
* [[DosGetVersion|DosGetVersion]]
* [[DosHoldSignal|DosHoldSignal]]


* [[DosPortAccess|DosPortAccess]]
*[[DosGetVersion]]
* [[DosR2StackRealloc|DosR2StackRealloc]]
* [[DosReadAsync|DosReadAsync]]


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


=== Keyboard functions ===
*[[DosSetVec]]
* [[KbdCharIn]]
*[[DosSysCtl]]
* [[KbdFlushBuffer]]
*[[DosQueryRASInfo]]
* [[KbdGetCp]]
* [[KbdSetCp]]
* [[KbdPeek]]
* [[KbdRegister]]
* [[KbdDeRegister]]
* [[KbdOpen]]
* [[KbdClose]]
* [[KbdGetFocus]]
* [[KbdFreeFocus]]
* [[KbdSynch]]
* [[KbdSetFgnd]]
* [[KbdGetHWId]]
* [[KbdSetHWID]] [[image:Vraag.gif]]
* [[KbdSetCustXt]]
* [[KbdGetStatus]]
* [[KbdSetStatus]]
* [[KbdStringIn]]
* [[KbdXlate]]
* [[KbdInit]] [[image:Vraag.gif]]


==== Mouse functions ====
====QuickHelp====
* [[MouRegister|MouRegister]]
*[[QhKeybdHandle]]
* [[MouDeRegister|MouDeRegister]]
*[[QhMouseHandle]]
* [[MouOpen|MouOpen]]
* [[MouClose|MouClose]]
* [[MouInitReal|MouInitReal]]
* [[MouSynch|MouSynch]]
* [[MouDrawPtr|MouDrawPtr]]
* [[MouFlushQue|MouFlushQue]]
* [[MouGetDevStatus|MouGetDevStatus]]
* [[MouGetEventMask|MouGetEventMask]]
* [[MouGetNumButtons|MouGetNumButtons]]
* [[MouGetNumMickeys|MouGetNumMickeys]]
* [[MouGetNumQueEl|MouGetNumQueEl]]
* [[MouGetPtrPos]]
* [[MouGetPtrShape|MouGetPtrShape]]
* [[MouGetScaleFact|MouGetScaleFact]]
* [[MouReadEventQue|MouReadEventQue]]
* [[MouRemovePtr|MouRemovePtr]]
* [[MouSetDevStatus|MouSetDevStatus]]
* [[MouSetEventMask|MouSetEventMask]]
* [[MouSetPtrPos|MouSetPtrPos]]
* [[MouSetPtrShape|MouSetPtrShape]]
* [[MouSetScaleFact|MouSetScaleFact]]
* [[MouShellInit|MouShellInit]] [[image:Vraag.gif]]
* [[MouGetHotKey|MouGetHotKey]] [[image:Vraag.gif]]
* [[MouSetHotKey]]
* [[MouFree]]


==== Video I/O functions ====
===Keyboard functions===
* [[VioRegister|VioRegister]]
*[[KbdCharIn]] - character data record from keyboard
* [[VioGlobalReg|VioGlobalReg]]
*[[KbdClose]] - closes logical keyboard
* [[VioDeRegister|VioDeRegister]]
*[[KbdDeRegister]] - deregister keyboard subsystem
* [[VioGetPhysBuf|VioGetPhysBuf]]
*[[KbdFlushBuffer]] -
* [[VioScrollDn|VioScrollDn]]
*[[KbdFreeFocus]]
* [[VioScrollLf|VioScrollLf]]
*[[KbdGetCp]]
* [[VioScrollRt|VioScrollRt]]
*[[KbdGetFocus]] -
* [[VioCheckCharType|VioCheckCharType]] [[image:Vraag.gif]]
*[[KbdGetHWId]]
* [[VioPrtSc|VioPrtSc]]
*[[KbdGetStatus]] -
* [[VioPrtScToggle|VioPrtScToggle]]
*[[KbdInit]] -
* [[VioRedrawSize|VioRedrawSize]] [[image:Vraag.gif]]
*[[KbdOpen]] -
* [[VioGetFont|VioGetFont]]
*[[KbdPeek]] -
* [[VioSetFont|VioSetFont]]
*[[KbdRegister]]
* [[VioEndPopUp|VioEndPopUp]]
*[[KbdSetCp]]
* [[VioGetAnsi|VioGetAnsi]]
*[[KbdSetCustXt]]
* [[VioGetBuf|VioGetBuf]]
*[[KbdSetFgnd]]
* [[VioGetConfig|VioGetConfig]]
*[[KbdSetHWID]]
* [[VioGetCp|VioGetCp]]   
*[[KbdSetStatus]]
* [[VioGetCurPos|VioGetCurPos]] 
*[[KbdSynch]] -
* [[VioGetCurType|VioGetCurType]]   
*[[KbdStringIn]]
* [[VioGetMode|VioGetMode]] 
*[[KbdXlate]]
* [[VioGetState|VioGetState]]   
* [[VioModeUndo|VioModeUndo]]   
* [[VioModeWait|VioModeWait]]   
* [[VioPopUp|VioPopUp]] 
* [[VioReadCellStr|VioReadCellStr]]
* [[VioReadCharStr|VioReadCharStr]]
* [[VioSavRedrawUndo|VioSavRedrawUndo]]  
* [[VioSavRedrawWait|VioSavRedrawWait]]  
* [[VioScrLock|VioScrLock]]  
* [[VioScrollUp|VioScrollUp]]  
* [[VioScrUnLock|VioScrUnLock]]  
* [[VioSetAnsi|VioSetAnsi]]  
* [[VioSetCp|VioSetCp]]
* [[VioSetCurPos|VioSetCurPos]]
* [[VioSetCurType|VioSetCurType]]
* [[VioSetMode|VioSetMode]]  
* [[VioSetState|VioSetState]]  
* [[VioShowBuf|VioShowBuf]]  
* [[VioWrtCellStr|VioWrtCellStr]]  
* [[VioWrtCharStr|VioWrtCharStr]]  
* [[VioWrtCharStrAtt|VioWrtCharStrAtt]]  
* [[VioWrtNAttr|VioWrtNAttr]]  
* [[VioWrtNCell|VioWrtNCell]]  
* [[VioWrtNChar|VioWrtNChar]]  
* [[VioWrtTTY|VioWrtTTY]]
* [[VioQueryConsole]]


===== Advanced VIO =====
===Mouse functions===
* [[VioGetOrg]]
*[[MouRegister]]
* [[VioSetOrg]]
*[[MouDeRegister]]
* [[WinDefAVioWindowProc]]
*[[MouOpen]]
</div>
*[[MouClose]]
*[[MouInitReal]]
*[[MouSynch]]
*[[MouDrawPtr (OS/2 1.x)|MouDrawPtr]]
*[[MouFlushQue (OS/2 1.x)|MouFlushQue]]
*[[MouGetDevStatus (OS/2 1.x)|MouGetDevStatus]]
*[[MouGetEventMask (OS/2 1.x)|MouGetEventMask]]
*[[MouGetNumButtons (OS/2 1.x)|MouGetNumButtons]]
*[[MouGetNumMickeys (OS/2 1.x)|MouGetNumMickeys]]
*[[MouGetNumQueEl (OS/2 1.x)|MouGetNumQueEl]]
*[[MouGetPtrPos]]
*[[MouGetPtrShape (OS/2 1.x)|MouGetPtrShape]]
*[[MouGetScaleFact (OS/2 1.x)|MouGetScaleFact]]
*[[MouReadEventQue (OS/2 1.x)|MouReadEventQue]]
*[[MouRemovePtr (OS/2 1.x)|MouRemovePtr]]
*[[MouSetDevStatus (OS/2 1.x)|MouSetDevStatus]]
*[[MouSetEventMask (OS/2 1.x)|MouSetEventMask]]
*[[MouSetPtrPos (OS/2 1.x)|MouSetPtrPos]]
*[[MouSetPtrShape (OS/2 1.x)|MouSetPtrShape]]
*[[MouSetScaleFact (OS/2 1.x)|MouSetScaleFact]]
*[[MouShellInit]]
*[[MouGetHotKey]]
*[[MouSetHotKey]]
*[[MouFree]]


===Legend===
===Video I/O functions===
* [[image:Vraag.gif]]: More information is required on this function. Information was not available on CP1 or PRCP books.
*[[VioCheckCharType]]
*[[VioDeRegister]]
*[[VioEndPopUp]]
*[[VioGetAnsi]]
*[[VioGetBuf]]
*[[VioGetConfig]]
*[[VioGetCp]]
*[[VioGetCurPos]]
*[[VioGetCurType]]
*[[VioGetFont]]
*[[VioGetMode]]
*[[VioGetPhysBuf]]
*[[VioGetState]]
*[[VioGlobalReg]]
*[[VioModeUndo]]
*[[VioModeWait]]
*[[VioPopUp]]
*[[VioPrtSc]]
*[[VioPrtScToggle]]
*[[VioQueryConsole]]
*[[VioReadCellStr]]
*[[VioReadCharStr]]
*[[VioRedrawSize]]
*[[VioRegister]]
*[[VioSavRedrawUndo]]
*[[VioSavRedrawWait]]
*[[VioSetFont]]
*[[VioScrLock]]
*[[VioScrollDn]]
*[[VioScrollLf]]
*[[VioScrollRt]]
*[[VioScrollUp]]
*[[VioScrUnLock]]
*[[VioSetAnsi]]
*[[VioSetCp]]
*[[VioSetCurPos]]
*[[VioSetCurType]]
*[[VioSetMode]]
*[[VioSetState]]
*[[VioShowBuf (FAPI)|VioShowBuf]]
*[[VioWrtCellStr (FAPI)|VioWrtCellStr]]
*[[VioWrtCharStr (FAPI)|VioWrtCharStr]]
*[[VioWrtCharStrAtt (FAPI)|VioWrtCharStrAtt]]
*[[VioWrtNAttr (FAPI)|VioWrtNAttr]]
*[[VioWrtNCell (FAPI)|VioWrtNCell]]
*[[VioWrtNChar (FAPI)|VioWrtNChar]]
*[[VioWrtTTY (FAPI)|VioWrtTTY]]


==References==
==References==
{|class="wikitable"
* IBM OS/2 Programming Reference
!Title
* IBM OS/2 Warp [[Control Program Programming Guide and Reference]] (1996)
!Author
* IBM API Addendum Volume 1 (PowerPC Edition)
!Year
!Document Ref.
!Links
|-
|[[Control Program Programming Guide and Reference]]
|IBM
|1996
|CP1.INF, CP2.INF, CP3.INF
|[https://archive.org/download/ToolkitDocs1/Control%20Program%20Programming%20Guide%20and%20Reference.pdf PDF], [https://archive.org/download/ToolkitDocs1/Control%20Program%20Programming%20Guide%20and%20Reference%201.inf INF 1] [https://archive.org/download/ToolkitDocs1/Control%20Program%20Programming%20Guide%20and%20Reference%202.inf INF 2] [https://archive.org/download/ToolkitDocs1/Control%20Program%20Programming%20Guide%20and%20Reference%203.inf INF 3]
|-
|API Addendum Volume 1 (PowerPC Edition)
|IBM
|
|APIBAS.INF
|
|-
|Legacy OS/2 Programming Reference
|IBM
|
|PRCP.INF
|
|}


[[Category:The OS/2 API Project]]
[[Category:The OS/2 API Project]]

Latest revision as of 23:10, 30 April 2023

Some general information is available at Control Program page.

File Management

File Functions

File Handle Functions

File Query Functions

Directory Search (FileFind) Functions

Directory and Disk Functions

Environment and Search Path Functions

Extended LIBPATH Search Path Functions

  • DosQueryExtLIBPATH - Queries the search path for Dynamic Link Library, which is either before or after LIBPATH search
  • DosSetExtLIBPATH - Sets a search path for Dynamic Link Library, either before or after LIBPATH search

Memory Management

Memory Functions

  • DosAllocMem - Allocates a private memory object within the virtual address space
  • DosFreeMem - Frees a private or shared memory object from the virtual address space of the process
  • DosQueryMem - Obtains information about a range of pages within the virtual address space of the subject process
  • DosSetMem - Commits or decommits a range of pages within a memory object, or alters their protection

Memory Suballocation Functions

  • DosSubAllocMem - Suballocates a block of memory from a heap that was previously initialized
  • DosSubFreeMem - Frees a block of memory that was previously suballocated
  • DosSubSetMem - Initializes a heap for suballocation, or increases the size of a previously initialized heap
  • DosSubUnsetMem - Terminates the use of a heap

Shared Memory Functions

Thread Local Memory Functions

Program Execution Control

Thread Control Functions

Process Control Functions

Session Control Functions

Semaphore Functions

Event Semaphore Functions

Mutex Semaphore Functions

Muxwait Semaphore Functions

Pipe Functions

Named-Pipe Functions

Unnamed-Pipe Functions

  • DosClose - Closes a file or pipe
  • DosCreatePipe - Creates an unnamed (anonymous) pipe
  • DosDupHandle, DosOpen, DosRead, DosWrite

Queue Functions

Timer Functions

Error Management Functions

Exception Handling Functions

Signal Exception Functions

Must-Complete Functions

Device I/O Functions

File System Functions Used to Perform I/O to Devices:

  • DosClose
  • DosOpen
  • DosRead
  • DosWrite

Message Management Functions

Code Page Management Functions

Code Page Functions

Country Dependent Functions

Debugging Functions

  • DosDebug - Used by one process to control another for debugging purposes

Dynamic Linking Functions

Dos...

Unsorted

Date/Time

Timer

Error Management

Exception Management

Large File System

File Manipulation

File Handle Manipulation

File Querying

File System Functions

Resource Management

Threads

VDD

Kbd, Mou, Vio

Keyboard functions

Mouse functions

Video I/O functions

Advanced VIO

OS/2 1.x Functions

Function calls for OS/2 1.x that offer compatibility with DOS via Family API or Windows NT OS/2 subsystem.

Dos

Date/Time

Device I/O

Dynamic Linking Library

Monitor functions

Error Management

OS/2 2.0 and 1.3 only:

Exception Management

File Systems/File Management

Directory Searching:

Directory Handling:

Disk

Environment/Path

File Manipulation

File Handle Manipulation

File Querying

File System Functions

Memory Management

Huge block
Heap

Message Management

National Language/Code Page

Named Pipes

Resource Management

Semaphores

MuxWait Semaphores

Processes/Threading

Processes

Session Management

Session Manager
Screen Group

Timer

Addressing

Spool

Not found on OS2TK45

I/O Privileges

Segments

QuickHelp

Keyboard functions

Mouse functions

Video I/O functions

References