Jump to content

Control Program Functions: Difference between revisions

From EDM2
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
== Control Programming Interface ==
Some general information is available at [[Control Program]] page.
Some general information is available at [[Control Program]] page.  


<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
==File Management==
=== Date/Time ===
===File Functions===
* [[DosGetDateTime]]
*[[DosClose]] - Closes a file handle
* [[DosSetDateTime]]
*[[DosCopy]] - Copies a file or subdirectory
*[[DosDelete]] - Deletes a file
*[[DosEditName]] - Transforms a file name
*[[DosMove]] - Moves a file or subdirectory
*[[DosOpen]] - Gets a handle to a file, pipe, or device
*[[DosRead]] - Reads from a file, pipe, or device
*[[DosSetFileInfo]] - Sets information for an open file
*[[DosSetFileLocks]] - Locks and unlocks a range in a file
*[[DosSetFilePtr]] - Moves the position of the file pointer
*[[DosSetFileSize]] - Changes the size of a file
*[[DosSetPathInfo]] - Sets information for a file or subdirectory
*[[DosSetVerify]] - Enables write verification
*[[DosWrite]] - Writes data to a file, pipe, or device
 
===File Handle Functions===
*[[DosDupHandle]] - Duplicates a file handle
*[[DosQueryFHState]] - Gets the file handle state
*[[DosQueryHType]] - Gets the handle type
*[[DosSetFHState]] - Sets the file handle state
*[[DosSetMaxFH]] - Sets the maximum number of file handles
 
===File Query Functions===
*[[DosEnumAttribute]] - Gets the name and size of a file object's extended attributes
*[[DosQueryFileInfo]] - Gets information for an open file
*[[DosQueryPathInfo]] - Gets information for a file or subdirectory
*[[DosQuerySysInfo]] - Gets values of system variables
*[[DosQueryVerify]] - Determines whether or not write verification is enabled
 
===Directory Search (FileFind) Functions===
*[[DosFindClose]] - Ends a search for matching file objects
*[[DosFindFirst]] - Begins a search for matching file objects
*[[DosFindNext]] - Continues a search for matching file objects
 
===Directory and Disk Functions===
*[[DosCreateDir]] - Creates a subdirectory
*[[DosDeleteDir]] - Deletes an empty subdirectory
*[[DosQueryCurrentDir]] - Gets the current directory
*[[DosQueryCurrentDisk]] - Gets the current drive
*[[DosSetCurrentDir]] - Sets the current directory
*[[DosSetDefaultDisk]] - Sets the default drive
 
===Environment and Search Path Functions===
*[[DosScanEnv]] - Gets information for a file or subdirectory
*[[DosSearchPath]] - Scans environment variable
*[[DosQueryPathInfo]] - Searches along a specified path
*[[DosSetPathInfo]] - Sets information for a file or subdirectory
 
===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===
*[[DosAllocSharedMem]] - Allocates a shared memory object within the virtual address space
*[[DosGetNamedSharedMem]] - Obtains access to an existing named shared memory object
*[[DosGetSharedMem]] - Obtains access to an existing shared memory object
*[[DosGiveSharedMem]] - Gives a target process access to an existing shared memory object
 
===Thread Local Memory Functions===
*[[DosAllocThreadLocalMemory]] - Allocates a block of memory that is unique, or local, to a thread
*[[DosFreeThreadLocalMemory]] - Frees a block of thread-local memory
 
==Program Execution Control==
===Thread Control Functions===
*[[DosCreateThread]]
*[[DosEnterCritSec]]
*[[DosExit]] - Terminates thread execution in the current process
*[[DosExitCritSec]] - Enables thread switching for the current process
*[[DosGetInfoBlocks]]
*[[DosKillThread]]
*[[DosResumeThread]]
*[[DosSetPriority]]
*[[DosSuspendThread]]
*[[DosWaitThread]]
 
===Process Control Functions===
*[[DosExecPgm]] - Executes another program as a child process
*[[DosExitList]] - Defines a list of routines to be executed when the current process ends
*[[DosKillProcess]]
*[[DosWaitChild]] - Waits for a child process to end
 
===Session Control Functions===
*[[DosSelectSession]] - Selects a child session
*[[DosSetSession]] - Sets the status of a child session
*[[DosStartSession]] - Starts an unrelated or child session
*[[DosStopSession]] - Terminates one or all child sessions
 
==Semaphore Functions==
===Event Semaphore Functions===
*[[DosCloseEventSem]] - Closes an event semaphore
*[[DosCreateEventSem]] - Creates an event semaphore
*[[DosOpenEventSem]] - Opens an event semaphore for use
*[[DosPostEventSem]] - Posts an event semaphore
*[[DosQueryEventSem]]
*[[DosResetEventSem]] - Resets an event semaphore
*[[DosWaitEventSem]]
 
===Mutex Semaphore Functions===
*[[DosCloseMutexSem]]
*[[DosCreateMutexSem]]
*[[DosOpenMutexSem]]
*[[DosQueryMutexSem]]
*[[DosReleaseMutexSem]]
*[[DosRequestMutexSem]]


=== Device I/O ===
===Muxwait Semaphore Functions===
* [[DosBeep]]
*[[DosAddMuxWaitSem]]
* [[DosDevConfig]]
*[[DosCloseMuxWaitSem]]
* [[DosDevIOCtl]]
*[[DosCreateMuxWaitSem]]
* [[DosListIO]]
*[[DosDeleteMuxWaitSem]]
* [[DosListIOL]]
*[[DosOpenMuxWaitSem]]
* [[DosPhysicalDisk]]
*[[DosQueryMuxWaitSem]]
* [[DosTmrQueryFreq]]
*[[DosWaitMuxWaitSem]] - Waits for a muxwait semaphore to clear
* [[DosTmrQueryTime]]


=== Dynamic Linking Library ===
==Pipe Functions==
* [[DosFreeModule]]
===Named-Pipe Functions===
* [[DosLoadModule]]
*[[DosCallNPipe]]
* [[DosQueryAppType]]
*[[DosConnectNPipe]]
* [[DosQueryModuleHandle]]
*[[DosCreateNPipe]] - Creates a named pipe
* [[DosQueryModuleName]]
*[[DosDisConnectNPipe]]
* [[DosQueryProcAddr]]
*[[DosPeekNPipe]]
* [[DosQueryProcType]]
*[[DosQueryNPHState]]
*[[DosQueryNPipeInfo]]
*[[DosQueryNPipeSemState]]
*[[DosSetNPHState]] - Resets the blocking mode and the read mode of a named pipe
*[[DosSetNPipeSem]] - Attaches a shared event semaphore to a local named pipe
*[[DosTransactNPipe]] - Writes to a duplex message pipe, then reads from it
*[[DosWaitNPipe]] - Waits for an instance of a named pipe to become available


=== Error Management ===
===Unnamed-Pipe Functions===
* [[DosErrClass]]
*DosClose - Closes a file or pipe
* [[DosError]]
*[[DosCreatePipe]] - Creates an unnamed (anonymous) pipe
* [[DosDebug]]
*DosDupHandle, DosOpen, DosRead, DosWrite
* [[DosSuppressPopUps]]
* [[DosDumpProcess]]  [[Image:Conf.gif]]
* [[DosForceSystemDump]] [[Image:Conf.gif]]
* [[Dos16SysTrace]] [[Image:Conf.gif]]


=== Exception Management ===
==Queue Functions==
* [[DosQueryModFromEIP]] [[Image:Conf.gif]]
*[[DosCloseQueue]] - Closes a queue
* [[DosRaiseException]]
*[[DosCreateQueue]] - Creates a queue
* [[DosSetExceptionHandler]]
*[[DosOpenQueue]] - Opens a queue
* [[DosUnsetExceptionHandler]]
*[[DosPeekQueue]]
* [[DosUnwindException]]
*[[DosPurgeQueue]]
* [[Dos16QueryModFromCS]] [[Image:Conf.gif]]
*[[DosQueryQueue]] - Returns the number of elements in a queue
*[[DosReadQueue]]
*[[DosWriteQueue]] - Writes an element to a queue


==== Must Complete Management ====
==Timer Functions==
* [[DosEnterMustComplete]]
*[[DosAsyncTimer]]
* [[DosExitMustComplete]]
*[[DosSleep]] - Suspends the current thread for a specified time interval
*[[DosStartTimer]]
*[[DosStopTimer]]


==== Signaling Exception Management ====
==Error Management Functions==
* [[DosAcknowledgeSignalException]]
*[[DosErrClass]]
* [[DosSendSignalException]]
*[[DosError]] - Disables and enables hard-error and exception pop-up messages
* [[DosSetSignalExceptionFocus]]


=== File Systems/File Management ===
==Exception Handling Functions==
==== Directory Searching ====
*[[DosRaiseException]] - Raises an exception
* [[DosFindClose]]
*[[DosSetExceptionHandler]] - Registers an exception handler
* [[DosFindFirst]]
*[[DosUnsetExceptionHandler]]
* [[DosFindNext]]
*[[DosUnwindException]]
==== Directory ====
* [[DosCreateDir]]
* [[DosDeleteDir]]
* [[DosQueryCurrentDir]]
* [[DosSetCurrentDir]]


==== Disk ====
===Signal Exception Functions===
* [[DosQueryCurrentDisk]]
*[[DosAcknowledgeSignalException]]
* [[DosSetDefaultDisk]]
*[[DosSendSignalException]]
==== Environment/Path ====
*[[DosSetSignalExceptionFocus]] - Sets keyboard signal focus
* [[DosScanEnv]]
* [[DosSearchPath]]
===== LibPath =====
* [[DosQueryExtLIBPATH]]
* [[DosSetExtLIBPATH]]


==== File Manipulation ====
===Must-Complete Functions===
* [[DosCancelLockRequest]]
*[[DosEnterMustComplete]] - Enters a must-complete section of code
* [[DosCancelLockRequestL]] [[Image:Conf.gif]]
*[[DosExitMustComplete]] - Exits a must-complete section of code
* [[DosClose]]
* [[DosProtectClose]]
* [[DosCopy]]
* [[DosDelete]]
* [[DosEditName]]
* [[DosForceDelete]]
* [[DosMove]]
* [[DosOpen]]
* [[DosOpenL]] [[Image:Conf.gif]]
* [[DosProtectOpen]]
* [[DosProtectOpenL]] [[Image:Conf.gif]]
* [[DosRead]]
* [[DosReplaceModule]] [[Image:Conf.gif]]
* [[DosProtectRead]]
* [[DosSetFileInfo]]
* [[DosProtectSetFileInfo]]
* [[DosSetFileLocks]]
* [[DosSetFileLocksL]] [[Image:Conf.gif]]
* [[DosProtectSetFileLocks]]
* [[DosProtectSetFileLocksL]] [[Image:Conf.gif]]
* [[DosSetFilePtr]]
* [[DosSetFilePtrL]] [[Image:Conf.gif]]
* [[DosProtectSetFilePtr]]
* [[DosProtectSetFilePtrL]] [[Image:Conf.gif]]
* [[DosSetFileSize]]
* [[DosSetFileSizeL]] [[Image:Conf.gif]]
* [[DosProtectSetFileSize]]
* [[DosProtectSetFileSizeL]] [[Image:Conf.gif]]
* [[DosSetPathInfo]]
* [[DosSetVerify]]
* [[DosWrite]]
* [[DosProtectWrite]]


==== File Handle Manipulation ====
==Device I/O Functions==
* [[DosDupHandle]]
*[[DosBeep]]
* [[DosQueryFHState]]
*[[DosDevConfig]]
* [[DosProtectQueryFHState]]
*[[DosDevIOCtl]]
* [[DosQueryHType]]
*[[DosPhysicalDisk]]
* [[DosResetBuffer]]
* [[DosSetFHState]]
* [[DosProtectSetFHState]]
* [[DosSetMaxFH]]
* [[DosSetRelMaxFH]]


==== File Querying ====
File System Functions Used to Perform I/O to Devices:
* [[DosEnumAttribute]]
*DosClose
* [[DosProtectEnumAttribute]]
*DosOpen
* [[DosQueryFileInfo]]
*DosRead
* [[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]
*DosWrite
* [[DosProtectQueryFileInfo]]
* [[DosQueryPathInfo]]
* [[DosQuerySysInfo]]
* [[DosQuerySysState]]    [[Image:Conf.gif]]
* [[DosQueryVerify]]
* [[DosPerfSysCall]]
* [[DosGetProcessorStatus]]    [[Image:Conf.gif]]
* [[DosSetProcessorStatus]]    [[Image:Conf.gif]]
* [[DosQueryABIOSSupport]]  [[Image:Conf.gif]]


==== File System Functions ====
==Message Management Functions==
* [[DosFSAttach]]
*[[DosGetMessage]] - Retrieves a message from a message file
* [[DosFSCtl]]
*[[DosInsertMessage]] - Inserts variable text into message
* [[DosQueryFSAttach]]
*[[DosPutMessage]] - Sends a message to an output file or device
* [[DosQueryFSInfo]]
*[[DosQueryMessageCP]] - Retrieves a message file list of code pages and language identifiers
* [[DosResetBuffer]]
* [[DosSetFSInfo]]
* [[DosShutdown]]


=== Memory Management ===
==Code Page Management Functions==
* [[DosAliasMem]] [[Image:Conf.gif]]
===Code Page Functions===
* [[DosAllocMem]]
*[[DosQueryCp]]
* [[DosFreeMem]]
*[[DosSetProcessCp]] - Sets the code page of a process
* [[DosQueryMem]]
* [[DosQueryMemState]] [[Image:Conf.gif]]
* [[DosSetMem]]


==== Heap Memory ====
===Country Dependent Functions===
* [[DosSubAllocMem]]
*[[DosMapCase]]
* [[DosSubFreeMem]]
*[[DosQueryCollate]]
* [[DosSubSetMem]]
*[[DosQueryCtryInfo]]
* [[DosSubUnsetMem]]
*[[DosQueryDBCSEnv]]
*DosQueryMessageCP


==== Shared Memory ====
==Debugging Functions==
* [[DosAllocSharedMem]]
*[[DosDebug]] - Used by one process to control another for debugging purposes
* [[DosGetNamedSharedMem]]
* [[DosGetSharedMem]]
* [[DosGiveSharedMem]]


==== Thread local Memory ====
==Dynamic Linking Functions==
* [[DosAllocThreadLocalMemory]]
*[[DosFreeModule]] - Frees the reference to the dynamic link module for the process
* [[DosFreeThreadLocalMemory]]
*[[DosLoadModule]] - Loads a dynamic link module, and returns a handle for the module
*[[DosQueryModuleHandle]]
*[[DosQueryModuleName]]
*[[DosQueryProcAddr]] - Returns the address of the specified procedure within a dynamic link module


=== Message Management ===
==Dos...==
* [[DosGetMessage]]
===Unsorted===
* [[DosInsertMessage]]
*[[DosAliasMem]]
* [[DosPutMessage]]
*[[DosQueryMemState]]
* [[DosQueryMessageCP]]
*[[DosListIO]]
*[[DosQueryAppType]]
*[[DosQueryProcType]]
*[[DosResetBuffer]]


=== National Language/Code Page ===
=== Date/Time ===
* [[DosQueryCp]]
*[[DosGetDateTime]]
* [[DosSetProcessCp]]
*[[DosSetDateTime]]
* [[DosMapCase]]
* [[DosQueryCollate]]
* [[DosQueryCtryInfo]]
* [[DosQueryDBCSEnv]]


=== Pipes ===
===Timer===
* [[DosCreatePipe]]
*[[DosTmrQueryFreq]]
*[[DosTmrQueryTime]]


==== Named Pipes ====
=== Error Management ===
* [[DosCallNPipe]]
*[[DosSuppressPopUps]]
* [[DosConnectNPipe]]
*[[DosDumpProcess]]
* [[DosCreateNPipe]]
*[[DosForceSystemDump]]
* [[DosDisConnectNPipe]]
*[[Dos16SysTrace]]
* [[DosPeekNPipe]]
* [[DosQueryNPHState]]
* [[DosQueryNPipeInfo]]
* [[DosQueryNPipeSemState]]
* [[DosResetBuffer]]
* [[DosSetNPHState]]
* [[DosSetNPipeSem]]
* [[DosTransactNPipe]]
* [[DosWaitNPipe]]


=== Queues ===
=== Exception Management ===
* [[DosCloseQueue]]
*[[DosQueryModFromEIP]]
* [[DosQueryQueue]]
*[[Dos16QueryModFromCS]]
* [[DosWriteQueue]]


==== Server ====
===Large File System===
* [[OS2 API:CPI:DosCreateQueue|DosCreateQueue]]
*[[DosCancelLockRequestL]]
* [[OS2 API:CPI:DosPeekQueue|DosPeekQueue]]
*[[DosListIOL]] - Performs the specified number of seek/read or seek/write operations
* [[OS2 API:CPI:DosPurgeQueue|DosPurgeQueue]]
*[[DosOpenL]] - Opens a file
* [[OS2 API:CPI:DosReadQueue|DosReadQueue]]
*[[DosProtectOpenL]] - Opens a file returning a protected file handle
==== Client ====
*[[DosProtectSetFileLocksL]] - Locks and unlocks a range of an open file
* [[OS2 API:CPI:DosOpenQueue|DosOpenQueue]]
*[[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


=== Resource Management ===
==== File Manipulation ====
* [[OS2 API:CPI:DosFreeResource|DosFreeResource]]
*[[DosCancelLockRequest]]
* [[OS2 API:CPI:DosGetResource|DosGetResource]]
*[[DosProtectClose]]
* [[OS2 API:CPI:DosQueryResourceSize|DosQueryResourceSize]]
*[[DosForceDelete]]
*[[DosProtectOpen]]
*[[DosReplaceModule]]
*[[DosProtectRead]]
*[[DosProtectSetFileInfo]]
*[[DosProtectSetFileLocks]]
*[[DosProtectSetFilePtr]]
*[[DosProtectSetFileSize]]
*[[DosProtectWrite]]


=== Semaphores ===
==== File Handle Manipulation ====
==== Event Semaphores ====
*[[DosProtectQueryFHState]]
* [[OS2 API:CPI:DosCloseEventSem|DosCloseEventSem]]
*[[DosResetBuffer]]
* [[OS2 API:CPI:DosCreateEventSem|DosCreateEventSem]]
*[[DosProtectSetFHState]]
* [[OS2 API:CPI:DosOpenEventSem|DosOpenEventSem]]
*[[DosSetRelMaxFH]]
* [[OS2 API:CPI:DosPostEventSem|DosPostEventSem]]
* [[OS2 API:CPI:DosQueryEventSem|DosQueryEventSem]]
* [[OS2 API:CPI:DosResetEventSem|DosResetEventSem]]
* [[OS2 API:CPI:DosWaitEventSem|DosWaitEventSem]]
==== Mutex Semaphores ====
* [[OS2 API:CPI:DosCloseMutexSem|DosCloseMutexSem]]
* [[OS2 API:CPI:DosCreateMutexSem|DosCreateMutexSem]]
* [[OS2 API:CPI:DosOpenMutexSem|DosOpenMutexSem]]
* [[OS2 API:CPI:DosQueryMutexSem|DosQueryMutexSem]]
* [[OS2 API:CPI:DosReleaseMutexSem|DosReleaseMutexSem]]
* [[OS2 API:CPI:DosRequestMutexSem|DosRequestMutexSem]]
==== MuxWait Semaphores ====
* [[OS2 API:CPI:DosAddMuxWaitSem|DosAddMuxWaitSem]]
* [[OS2 API:CPI:DosCloseMuxWaitSem|DosCloseMuxWaitSem]]
* [[OS2 API:CPI:DosCreateMuxWaitSem|DosCreateMuxWaitSem]]
* [[OS2 API:CPI:DosDeleteMuxWaitSem|DosDeleteMuxWaitSem]]
* [[OS2 API:CPI:DosOpenMuxWaitSem|DosOpenMuxWaitSem]]
* [[OS2 API:CPI:DosQueryMuxWaitSem|DosQueryMuxWaitSem]]
* [[OS2 API:CPI:DosWaitMuxWaitSem|DosWaitMuxWaitSem]]


=== Processes/Threading ===
==== File Querying ====
* [[OS2 API:CPI:DosExit|DosExit]]
*[[DosProtectEnumAttribute]]
* [[OS2 API:CPI:DosGetInfoBlocks|DosGetInfoBlocks]]
*[[DosQueryFileMode]]
* [[OS2 API:CPI:DosSetPriority|DosSetPriority]]
*[[DosProtectQueryFileInfo]]
==== Processes ====
*[[DosQuerySysState]]
* [[DosEnterCritSec]]
*[[DosPerfSysCall]]
* [[DosExecPgm]]
*[[DosGetProcessorStatus]]
* [[DosExitCritSec]]
*[[DosSetProcessorStatus]]
* [[DosExitList]]
*[[DosQueryABIOSSupport]]
* [[DosKillProcess]]
* [[DosWaitChild]]


==== Threads ====
==== File System Functions ====
* [[OS2 API:CPI:DosCreateThread|DosCreateThread]]
*[[DosFSAttach]]
* [[OS2 API:CPI:DosCreateThread2|DosCreateThread2]] [[Image:Conf.gif]]
*[[DosFSCtl]]
* [[OS2 API:CPI:DosKillThread|DosKillThread]]
*[[DosQueryFSAttach]]
* [[OS2 API:CPI:DosQueryThreadAffinity|DosQueryThreadAffinity]] [[Image:Conf.gif]]
*[[DosQueryFSInfo]]
* [[OS2 API:CPI:DosQueryThreadContext|DosQueryThreadContext]]
*[[DosResetBuffer]]
* [[OS2 API:CPI:DosResumeThread|DosResumeThread]]
*[[DosSetFSInfo]]
* [[OS2 API:CPI:DosSetThreadAffinity|DosSetThreadAffinity]] [[Image:Conf.gif]]
*[[DosShutdown]]
* [[OS2 API:CPI:DosSleep|DosSleep]]
* [[OS2 API:CPI:DosSuspendThread|DosSuspendThread]]
* [[OS2 API:CPI:DosVerifyPidTid|DosVerifyPidTid]]  [[Image:Conf.gif]]
* [[OS2 API:CPI:DosWaitThread|DosWaitThread]]


=== Session Management ===
=== Resource Management ===
* [[OS2 API:CPI:DosSelectSession|DosSelectSession]]
*[[DosFreeResource]]
* [[OS2 API:CPI:DosSetSession|DosSetSession]]
*[[DosGetResource]]
* [[OS2 API:CPI:DosStartSession|DosStartSession]]
*[[DosQueryResourceSize]]
* [[OS2 API:CPI:DosStopSession|DosStopSession]]


=== Timer ===
==== Threads ====
*[[DosAsyncTimer]]
*[[DosCreateThread2]]
*[[DosStartTimer]]
*[[DosQueryThreadAffinity]]
*[[DosStopTimer]]
*[[DosQueryThreadContext]]
*[[DosSetThreadAffinity]]
*[[DosVerifyPidTid]]


=== VDD ===
=== VDD ===
Line 285: Line 320:
*[[DosRequestVDD]]
*[[DosRequestVDD]]


==Kbd, Mou, Vio==
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
===Keyboard functions===
===Keyboard functions===
*[[KbdCharIn]]
*[[KbdCharIn]]
Line 303: Line 340:


===Mouse functions===
===Mouse functions===
* [[OS2 API:CPI:MouFlushQue|MouFlushQue]]
*[[MouFlushQue]]
* [[OS2 API:CPI:MouGetPtrPos|MouGetPtrPos]]
*[[MouGetPtrPos]]
* [[OS2 API:CPI:MouSetPtrPos|MouSetPtrPos]]
*[[MouSetPtrPos]]
*[[MouSetPtrShape]]
*[[MouSetPtrShape]]
* [[OS2 API:CPI:MouGetPtrShape|MouGetPtrShape]]
*[[MouGetPtrShape]]
*[[MouGetDevStatus]]
*[[MouGetDevStatus]]
* [[OS2 API:CPI:MouGetNumButtons|MouGetNumButtons]]
*[[MouGetNumButtons]]
*[[MouGetNumMickeys]]
*[[MouGetNumMickeys]]
* [[OS2 API:CPI:MouReadEventQue|MouReadEventQue]]
*[[MouReadEventQue]]
* [[OS2 API:CPI:MouGetNumQueEl|MouGetNumQueEl]]
*[[MouGetNumQueEl]]
* [[OS2 API:CPI:MouGetEventMask|MouGetEventMask]]
*[[MouGetEventMask]]
* [[OS2 API:CPI:MouSetEventMask|MouSetEventMask]]
*[[MouSetEventMask]]
*[[MouGetScaleFact]]
*[[MouGetScaleFact]]
* [[OS2 API:CPI:MouSetScaleFact|MouSetScaleFact]]
*[[MouSetScaleFact]]
*[[MouRemovePtr]]
*[[MouRemovePtr]]
*[[MouDrawPtr]]
*[[MouDrawPtr]]
Line 326: Line 363:
*[[VioGetBuf]]
*[[VioGetBuf]]
*[[VioGetCurPos]]
*[[VioGetCurPos]]
* [[OS2 API:CPI:VioSetCurPos|VioSetCurPos]]
*[[VioSetCurPos]]
* [[OS2 API:CPI:VioGetCurType|VioGetCurType]]
*[[VioGetCurType]]
* [[OS2 API:CPI:VioSetCurType|VioSetCurType]]
*[[VioSetCurType]]
* [[OS2 API:CPI:VioGetMode|VioGetMode]]
*[[VioGetMode]]
* [[OS2 API:CPI:VioSetMode|VioSetMode]]
*[[VioSetMode]]
* [[OS2 API:CPI:VioReadCellStr|VioReadCellStr]]
*[[VioReadCellStr]]
* [[OS2 API:CPI:VioReadCharStr|VioReadCharStr]]
*[[VioReadCharStr]]
* [[OS2 API:CPI:VioWrtCellStr|VioWrtCellStr]]
*[[VioWrtCellStr]]
* [[OS2 API:CPI:VioWrtCharStr|VioWrtCharStr]]
*[[VioWrtCharStr]]
* [[OS2 API:CPI:VioScrollUp|VioScrollUp]] [[image:Att.gif]]
*[[VioScrollUp]]
* [[OS2 API:CPI:VioScrollDown|VioScrollDown]] [[image:Att.gif]]
*[[VioScrollDown]]
* [[OS2 API:CPI:VioScrollLeft|VioScrollLeft]] [[image:Att.gif]]
*[[VioScrollLeft]]
* [[OS2 API:CPI:VioScrollRight|VioScrollRight]] [[image:Att.gif]]
*[[VioScrollRight]]
* [[OS2 API:CPI:VioWrtNAttr|VioWrtNAttr]]
*[[VioWrtNAttr]]
* [[OS2 API:CPI:VioWrtNCell|VioWrtNCell]]
*[[VioWrtNCell]]
* [[OS2 API:CPI:VioWrtNChar|VioWrtNChar]]
*[[VioWrtNChar]]
* [[OS2 API:CPI:VioWrtTTY|VioWrtTTY]]
*[[VioWrtTTY]]
* [[OS2 API:CPI:VioWrtCharStrAtt|VioWrtCharStrAtt]]
*[[VioWrtCharStrAtt]]
* [[OS2 API:CPI:VioShowBuf|VioShowBuf]]
*[[VioShowBuf]]
* [[OS2 API:CPI:VioSetAnsi|VioSetAnsi]]
*[[VioSetAnsi]]
*[[VioGetAnsi]]
*[[VioGetAnsi]]
* [[OS2 API:CPI:VioSavRedrawWait|VioSavRedrawWait]]
*[[VioSavRedrawWait]]
* [[OS2 API:CPI:VioSavRedrawUndo|VioSavRedrawUndo]]
*[[VioSavRedrawUndo]]
* [[OS2 API:CPI:VioModeWait|VioModeWait]]
*[[VioModeWait]]
* [[OS2 API:CPI:VioModeUndo|VioModeUndo]]
*[[VioModeUndo]]
* [[OS2 API:CPI:VioScrLock|VioScrLock]]
*[[VioScrLock]]
* [[OS2 API:CPI:VioScrUnLock|VioScrUnLock]]
*[[VioScrUnLock]]
* [[OS2 API:CPI:VioPopUp|VioPopUp]]
*[[VioPopUp]]
* [[OS2 API:CPI:VioEndPopUp|VioEndPopUp]]
*[[VioEndPopUp]]
*[[VioGetConfig]]
*[[VioGetConfig]]
*[[VioGetCp]]
*[[VioGetCp]]
*[[VioSetCp]]
*[[VioSetCp]]
* [[OS2 API:CPI:VioGetOrigin|VioGetOrigin]]
*[[VioGetOrigin]]
* [[OS2 API:CPI:VioSetOrigin|VioSetOrigin]]
*[[VioSetOrigin]]
* [[OS2 API:CPI:VioGetState|VioGetState]]
*[[VioGetState]]
* [[OS2 API:CPI:VioSetState|VioSetState]]
*[[VioSetState]]
 
==== Advanced VIO ====
* [[OS2 API:CPI:VioAssociate|VioAssociate]]
* [[OS2 API:CPI:VioCreateLogFont|VioCreateLogFont]]
* [[OS2 API:CPI:VioCreatePS|VioCreatePS]]
* [[OS2 API:CPI:VioDeleteSetId|VioDeleteSetId]]
* [[OS2 API:CPI:VioDestroyPS|VioDestroyPS]]
* [[OS2 API:CPI:VioGetDeviceCellSize|VioGetDeviceCellSize]]
* [[OS2 API:CPI:VioQueryFonts|VioQueryFonts]]
* [[OS2 API:CPI:VioQuerySetIds|VioQuerySetIds]]
* [[OS2 API:CPI:VioSetDeviceCellSize|VioSetDeviceCellSize]]
* [[OS2 API:CPI:VioShowPS|VioShowPS]]
</div>
</div>
=== 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 ==
===Advanced VIO===
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.
*[[VioAssociate]]
*[[VioCreateLogFont]]
*[[VioCreatePS]]
*[[VioDeleteSetId]]
*[[VioDestroyPS]]
*[[VioGetDeviceCellSize]]
*[[VioQueryFonts]]
*[[VioQuerySetIds]]
*[[VioSetDeviceCellSize]]
*[[VioShowPS]]


<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
== 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.


=== Date / Time ===
===Dos===
* [[DosGetDateTime (Legacy)|DosGetDateTime]]
====Date/Time====
* [[DosSetDateTime (Legacy)|DosSetDateTime]]
*[[DosGetDateTime (OS/2 1.x)|DosGetDateTime]]
*[[DosSetDateTime (OS/2 1.x)|DosSetDateTime]]


=== Device I/O ===
====Device I/O====
* [[OS2 API:CPI:LEGACY:DosBeep|DosBeep]]
*[[DosBeep (OS/2 1.x)|DosBeep]]
* [[OS2 API:CPI:LEGACY:DosDevConfig|DosDevConfig]]
*[[DosDevConfig (OS/2 1.x)|DosDevConfig]]
* [[OS2 API:CPI:LEGACY:DosDevIOCtl|DosDevIOCtl]]
*[[DosDevIOCtl (FAPI)|DosDevIOCtl]]
* [[OS2 API:CPI:LEGACY:DosDevIOCtl2|DosDevIOCtl2]]
*[[DosDevIOCtl2]]
* [[OS2 API:CPI:LEGACY:DosPhysicalDisk|DosPhysicalDisk]]
*[[DosPhysicalDisk (FAPI)|DosPhysicalDisk]]


=== Dynamic Linking Library ===  
====Dynamic Linking Library====
* [[OS2 API:CPI:LEGACY:DosGetModHandle|DosGetModHandle]]
*[[DosFreeModule (OS/2 1.x)|DosFreeModule]]
* [[OS2 API:CPI:LEGACY:DosGetModName|DosGetModName]]
*[[DosGetModHandle]]
*[[DosGetModName]]
*[[DosLoadModule (OS/2 1.x)|DosLoadModule]]
*[[DosQAppType]]


==== Monitor functions ====
====Monitor functions====
* [[OS2 API:CPI:LEGACY:DosMonClose|DosMonClose]]
*[[DosMonClose]]
* [[OS2 API:CPI:LEGACY:DosMonOpen|DosMonOpen]]
*[[DosMonOpen]]
* [[OS2 API:CPI:LEGACY:DosMonRead|DosMonRead]]
*[[DosMonRead]]
* [[OS2 API:CPI:LEGACY:DosMonReg|DosMonReg]]
*[[DosMonReg]]
* [[OS2 API:CPI:LEGACY:DosMonWrite|DosMonWrite]]
*[[DosMonWrite]]


=== Dynamic Link Library ===
====Error Management====
* [[OS2 API:CPI:LEGACY:DosFreeModule|DosFreeModule]]
*[[DosErrClass (FAPI)|DosErrClass]]
* [[OS2 API:CPI:LEGACY:DosLoadModule|DosLoadModule]]
*[[DosError (FAPI)|DosError]]
* [[OS2 API:CPI:LEGACY:DosQAppType|DosQAppType]]
*[[DosPTrace]]
OS/2 2.0 and 1.3 only:
*[[DosLogRegister]]
*[[DosLogEntry]]
*[[DosLogRead]]


=== Error Management ===
====Exception Management====
* [[OS2 API:CPI:LEGACY:DosErrClass|DosErrClass]]
*[[DosHoldSignal]]
* [[OS2 API:CPI:LEGACY:DosError|DosError]]
*[[DosSendSignal]]
* [[OS2 API:CPI:LEGACY:DosPtrace|DosPtrace]]
*[[DosSetSigHandler]]
* [[OS2 API:CPI:LEGACY:DosLogRegister|DosLogRegister]] *  (OS/2 2.0 and 1.3)
* [[OS2 API:CPI:LEGACY:DosLogEntry|DosLogEntry]] *  (OS/2 2.0 and 1.3)
* [[OS2 API:CPI:LEGACY:DosLogRead|DosLogRead]] * (OS/2 2.0 and 1.3)
 
===Exception Management===
* [[OS2 API:CPI:LEGACY:DosSendSignal|DosSendSignal]]
 
=== File Systems/File Management ===


==== Directory Searching ====
====File Systems/File Management====
* [[OS2 API:CPI:LEGACY:DosFindFirst|DosFindFirst]]
Directory Searching:
* [[OS2 API:CPI:LEGACY:DosFindFirst2|DosFindFirst2]]
*[[DosFindClose]]
* [[OS2 API:CPI:LEGACY:DosFindNext|DosFindNext]]
*[[DosFindFirst (FAPI)|DosFindFirst]]
*[[DosFindFirst2]]
*[[DosFindNext (FAPI)|DosFindNext]]


====Directory====
Directory Handling:
* [[OS2 API:CPI:LEGACY:DosChDir|DosChDir]]
*[[DosChDir]]
* [[OS2 API:CPI:LEGACY:DosMkDir|DosMkDir]]
*[[DosMkDir]]
* [[OS2 API:CPI:LEGACY:DosMkDir2|DosMkDir2]]
*[[DosMkDir2]]
* [[OS2 API:CPI:LEGACY:DosRmDir|DosRmDir]]
*[[DosRmDir]]
* [[OS2 API:CPI:LEGACY:DosQCurDir|DosQCurDir]]
*[[DosQCurDir]]


====Disk====
====Disk====
* [[OS2 API:CPI:LEGACY:DosQCurDisk|DosQCurDisk]]
*[[DosQCurDisk]]
* [[OS2 API:CPI:LEGACY:DosSelectDisk|DosSelectDisk]]
*[[DosSelectDisk]]


==== Enviroment/Path ====
====Environment/Path====
* [[OS2 API:CPI:LEGACY:DosScanEnv|DosScanEnv]]
*[[DosScanEnv (OS/2 1.x)|DosScanEnv]]
* [[OS2 API:CPI:LEGACY:DosSearchPath|DosSearchPath]]
*[[DosSearchPath (OS/2 1.x)|DosSearchPath]]


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


==== File Handle Manipulation ====
====File Handle Manipulation====
* [[OS2 API:CPI:LEGACY:DosDupHandle|DosDupHandle]]
*[[DosSetMaxFH (OS/2 1.x)|DosSetMaxFH]]
* [[OS2 API:CPI:LEGACY:DosSetMaxFH|DosSetMaxFH]]
*[[DosBufReset]]
* [[OS2 API:CPI:LEGACY:DosBufReset|DosBufReset]]
*[[DosQFHandState]]
* [[OS2 API:CPI:LEGACY:DosQFHandState|DosQFHandState]]
*[[DosQHandType]]
* [[OS2 API:CPI:LEGACY:DosQHandType|DosQHandType]]
*[[DosSetFHandState]]
* [[OS2 API:CPI:LEGACY:DosSetFHandState|DosSetFHandState]]
* [[OS2 API:CPI:LEGACY:DosQFHState|DosQFHState]] [[image:Vraag.gif]] * From 1.x


==== File Querying ====
====File Querying====
* [[OS2 API:CPI:LEGACY:DosEnumAttribute|DosEnumAttribute]]
*[[DosEnumAttribute (OS/2 1.x)|DosEnumAttribute]]
* [[OS2 API:CPI:LEGACY:DosQFileInfo|DosQFileInfo]]
*[[DosQFileInfo]]
* [[OS2 API:CPI:LEGACY:DosQFileMode|DosQFileMode]]
*[[DosQFileMode]]
* [[OS2 API:CPI:LEGACY:DosQPathInfo|DosQPathInfo]]
*[[DosQPathInfo]]
* [[OS2 API:CPI:LEGACY:DosQSysInfo|DosQSysInfo]]
*[[DosQSysInfo]]
* [[OS2 API:CPI:LEGACY:DosQVerify|DosQVerify]]
*[[DosQVerify]]


==== File System Functions====
====File System Functions====
* [[OS2 API:CPI:LEGACY:DosFSAttach|DosFSAttach]]
*[[DosFSAttach (OS/2 1.x)|DosFSAttach]]
* [[OS2 API:CPI:LEGACY:DosFSCtl|DosFSCtl]]
*[[DosFSCtl (OS/2 1.x)|DosFSCtl]]
* [[OS2 API:CPI:LEGACY:DosSetFSInfo|DosSetFSInfo]]
*[[DosSetFSInfo (OS/2 1.x)|DosSetFSInfo]]
* [[OS2 API:CPI:LEGACY:DosShutdown|DosShutdown]]
*[[DosShutdown (OS/2 1.x)|DosShutdown]]
* [[OS2 API:CPI:LEGACY:DosQFSAttach|DosQFSAttach]]
*[[DosQFSAttach]]
* [[OS2 API:CPI:LEGACY:DosQFSInfo|DosQFSInfo]]
*[[DosQFSInfo]]


=== Memory Management ===
====Memory Management====
* [[DosSubAlloc]]
*[[DosAllocSeg]]
* [[DosAllocSeg]]
*[[DosAllocShrSeg]]
* [[DosAllocShrSeg]]
*[[DosFreeSeg]]
* [[DosAllocHuge]]
*[[DosGetSeg]]
* [[DosFreeSeg]]
*[[DosGetShrSeg]]
* [[DosGetSeg]]
*[[DosGiveSeg]]
* [[DosGiveSeg]]
*[[DosLockSeg]]
* [[DosLockSeg]]
*[[DosMemAvail]]
* [[DosMemAvail]]
*[[DosSizeSeg]]
* [[DosSizeSeg]]
*[[DosUnlockSeg]]
* [[DosUnlockSeg]]
*[[DosReallocSeg]]
* [[DosReallocHuge]]
* [[DosReallocSeg]]


==== Heap Memory ====
;Huge block
* [[DosSubFree]]
*[[DosAllocHuge]]
* [[DosSubSet]]
*[[DosReallocHuge]]


=== Message Management ===
;Heap
* [[OS2 API:CPI:LEGACY:DosGetMessage|DosGetMessage]]
*[[DosSubAlloc]]
* [[OS2 API:CPI:LEGACY:DosPutMessage|DosPutMessage]]
*[[DosSubFree]]
* [[OS2 API:CPI:LEGACY:DosInsMessage|DosInsMessage]]
*[[DosSubSet]]
* [[OS2 API:CPI:LEGACY:DosTrueGetMessage|DosTrueGetMessage]] [[image:Vraag.gif]]
* [[OS2 API:CPI:LEGACY:DosIQueryMessageCP|DosIQueryMessageCP]] [[image:Vraag.gif]]
* [[OS2 API:CPI:LEGACY:DosCloseMessageFile|DosCloseMessageFile]] [[image:Vraag.gif]]


=== National Language/Code Page ===
====Message Management====
* [[OS2 API:CPI:LEGACY:DosCaseMap|DosCaseMap]]
*[[DosGetMessage (OS/2 1.x)|DosGetMessage]]
* [[OS2 API:CPI:LEGACY:DosGetCollate|DosGetCollate]]
*[[DosPutMessage (FAPI)|DosPutMessage]]
* [[OS2 API:CPI:LEGACY:DosGetCp|DosGetCp]]
*[[DosInsMessage]]
* [[OS2 API:CPI:LEGACY:DosGetCtryInfo|DosGetCtryInfo]]
*[[DosTrueGetMessage]]
* [[OS2 API:CPI:LEGACY:DosGetDBCSEv|DosGetDBCSEv]]
*[[DosIQueryMessageCP]]
* [[OS2 API:CPI:LEGACY:DosSetCp|DosSetCp]]
*[[DosCloseMessageFile]]
* [[OS2 API:CPI:LEGACY:DosSetProcCp|DosSetProcCp]]


=== Pipes ===
====National Language/Code Page====
*[[DosCaseMap (FAPI)|DosCaseMap]]
*[[DosGetCollate]]
*[[DosGetCp]]
*[[DosGetCtryInfo]]
*[[DosGetDBCSEv]]
*[[DosSetCp]]
*[[DosSetProcCp]]


====Named Pipes====
====Named Pipes====
* [[OS2 API:CPI:LEGACY:DosCallNmPipe|DosCallNmPipe]]
*[[DosCallNmPipe]] -
* [[OS2 API:CPI:LEGACY:DosConnectNmPipe|DosConnectNmPipe]]
*[[DosConnectNmPipe]] - enables named pipe to be opened
* [[OS2 API:CPI:LEGACY:DosDisConnectNmPipe|DosDisConnectNmPipe]]
*[[DosDisConnectNmPipe]]
* [[OS2 API:CPI:LEGACY:DosMakeNmPipe|DosMakeNmPipe]]
*[[DosMakeNmPipe]]
* [[OS2 API:CPI:LEGACY:DosMakePipe|DosMakePipe]]
*[[DosMakePipe]]
* [[OS2 API:CPI:LEGACY:DosPeekNmPipe|DosPeekNmPipe]]
*[[DosPeekNmPipe]]
* [[OS2 API:CPI:LEGACY:DosQNmPipeInfo|DosQNmPipeInfo]]
*[[DosQNmPipeInfo]]
* [[OS2 API:CPI:LEGACY:DosQNmPipeSemState|DosQNmPipeSemState]]
*[[DosQNmPipeSemState]]
* [[OS2 API:CPI:LEGACY:DosSetNmPipeSem|DosSetNmPipeSem]]
*[[DosQNmPHandState]]
* [[OS2 API:CPI:LEGACY:DosTransactNmPipe|DosTransactNmPipe]]
*[[DosRawReadNPipe]]
* [[OS2 API:CPI:LEGACY:DosWaitNmPipe|DosWaitNmPipe]]
*[[DosRawWriteNPipe]]
* [[OS2 API:CPI:LEGACY:DosQNmPHandState|DosQNmPHandState]]
*[[DosSetNmPHandState]]
* [[OS2 API:CPI:LEGACY:DosSetNmPHandState|DosSetNmPHandState]]
*[[DosSetNmPipeSem]]
*[[DosTransactNmPipe]]
*[[DosWaitNmPipe]]


=== Queues===
====Resource Management====
* [[OS2 API:CPI:LEGACY:DosCloseQueue|DosCloseQueue]]
*[[DosFreeResource (OS/2 1.x)|DosFreeResource]]
* [[OS2 API:CPI:LEGACY:DosQueryQueue|DosQueryQueue]]
*[[DosGetResource (OS/2 1.x)|DosGetResource]]
* [[OS2 API:CPI:LEGACY:DosWriteQueue|DosWriteQueue]]
*[[DosGetResource2]]


==== Server====
====Semaphores====
* [[OS2 API:CPI:LEGACY:DosCreateQueue|DosCreateQueue]]
*[[DosCloseSem]]
* [[OS2 API:CPI:LEGACY:DosPeekQueue|DosPeekQueue]]
*[[DosCreateSem]]
* [[OS2 API:CPI:LEGACY:DosPurgeQueue|DosPurgeQueue]]
*[[DosFSRamSemClear]]
* [[OS2 API:CPI:LEGACY:DosReadQueue|DosReadQueue]]
*[[DosFSRamSemRequest]]
*[[DosOpenSem]]
*[[DosSemClear]]
*[[DosSemRequest]]
*[[DosSemSet]]
*[[DosSemSetWait]]
*[[DosSemWait]]
*[[DosPMSemWait]]


==== Client ====
====MuxWait Semaphores====
* [[OS2 API:CPI:LEGACY:DosOpenQueue|DosOpenQueue]]
*[[DosMuxSemWait]]
*[[DosPMMuxSemWait]]


=== Resource Management ===
====Processes/Threading====
* [[OS2 API:CPI:LEGACY:DosFreeResource|DosFreeResource]]
*[[DosCallback]]
* [[OS2 API:CPI:LEGACY:DosGetResource|DosGetResource]]
*[[DosExit (FAPI)|DosExit]]
* [[OS2 API:CPI:LEGACY:DosGetResource2|DosGetResource2]]
*[[DosGetPrty]]
*[[DosSetPrty]]


=== Semaphores ===
====Processes====
* [[DosCloseSem]]
*[[DosCWait]]
* [[DosCreateSem]]
*[[DosEnterCritSec (OS/2 1.x)|DosEnterCritSec]]
* [[DosFSRamSemClear]]
*[[DosExitCritSec (OS/2 1.x)|DosExitCritSec]]
* [[DosFSRamSemRequest]]
*[[DosExitList (OS/2 1.x)|DosExitList]]
* [[DosOpenSem]]
*[[DosExecPgm (FAPI)|DosExecPgm]]
* [[DosSemClear]]
*[[DosFlagProcess]]
* [[DosSemRequest]]
*[[DosGetInfoSeg]]
* [[DosSemSet]]
*[[DosGetPID]]
* [[DosSemSetWait]]
*[[DosGetPPID]]
* [[DosSemWait]]
*[[DosKillProcess (OS/2 1.x)|DosKillProcess]]
* [[DosPMSemWait]]  [[image:Vraag.gif]]
* [[DosPMMuxSemWait]]  [[image:Vraag.gif]]


==== MuxWait Semaphores ====
====Session Management====
* [[DosMuxSemWait]]
*[[DosSelectSession (OS/2 1.x)|DosSelectSession]]
*[[DosSetSession (OS/2 1.x)|DosSetSession]]
*[[DosStartSession (OS/2 1.x)|DosStartSession]]
*[[DosStopSession (OS/2 1.x)|DosStopSession]]


=== Processes/Threading ===
;Session Manager
* [[OS2 API:CPI:LEGACY:DosExit|DosExit]]
*[[DosSMDoAppReq]]
* [[OS2 API:CPI:LEGACY:DosSetPrty|DosSetPrty]]
*[[DosSMGetAppReq]]
*[[DosSMGetStatus]]
*[[DosSMHDEInit]]
*[[DosSMInitialize]]
*[[DosSMNotifyDD]]
*[[DosSMNotifyDD2]]
*[[DosSMOpenDD]]
*[[DosSMParentSwitch]]
*[[DosSMPause]]
*[[DosSMPMPresent]]
*DosSMRealPrtSc
*[[DosSMRegisterDD]]
*[[DosSMServeAppReq]]
*[[DosSMSetSessionType]]
*[[DosSMSetTitle]]
*[[DosSMStart]]
*[[DosSMSwitch]]
*[[DosSMSysInit]]
*[[DosSMTerminate]]


==== Processes ====
;Screen Group
* [[OS2 API:CPI:LEGACY:DosEnterCritSec|DosEnterCritSec]]
*[[DosSMSGDoPopup]]
* [[OS2 API:CPI:LEGACY:DosExecPgm|DosExecPgm]]
*[[DosSMSGEndPopup]]
* [[OS2 API:CPI:LEGACY:DosExitCritSec|DosExitCritSec]]
* [[OS2 API:CPI:LEGACY:DosExitList|DosExitList]]
* [[OS2 API:CPI:LEGACY:DosKillProcess|DosKillProcess]]
* [[OS2 API:CPI:LEGACY:DosCwait|DosCwait]]
* [[OS2 API:CPI:LEGACY:DosGetPID|DosGetPID]]
* [[OS2 API:CPI:LEGACY:DosGetPPID|DosGetPPID]]
* [[OS2 API:CPI:LEGACY:DosGetInfoSeg|DosGetInfoSeg]]


==== Threads====
*[[DosGetTimes]]
* [[OS2 API:CPI:LEGACY:DosCreateThread|DosCreateThread]]
*[[DosScrUnlock]]
* [[OS2 API:CPI:LEGACY:DosResumeThread|DosResumeThread]]
*[[DosScrLock]]
* [[OS2 API:CPI:LEGACY:DosSleep|DosSleep]]
*[[DosSavRedrawWait]]
* [[OS2 API:CPI:LEGACY:DosSuspendThread|DosSuspendThread]]
*[[DosSavRedrawUndo]]
*[[DosSetMNLockTime]]
*[[DosModeUndo]]
*[[DosModeWait]]
*[[DosRegisterNotification]]


=== Session Management===
====Timer====
* [[DosSelectSession (OS/2 1.x)|DosSelectSession]]
*[[DosTimerAsync]]
* [[DosSetSession (OS/2 1.x)|DosSetSession]]
*[[DosTimerStart]]
* [[DosStartSession (OS/2 1.x)|DosStartSession]]
*[[DosTimerStop]]
* [[DosStopSession (OS/2 1.x)|DosStopSession]]


=== Screen Group ===
====Addressing====
* [[DosSMSGDoPopup]]
*[[DosFlatToSel]]
* [[DosSMSGEndPopup]]
*[[DosSelToFlat]]


* [[DosSMSwitch]]
====Spool====
* [[DosSMServeAppReq]]
''Not found on OS2TK45''
* [[DosGetTimes]]
*[[DosPFSActivate]]
* [[DosSMSetTitle]]
*[[DosPFSCloseUser]]
* [[DosScrUnlock]]
*[[DosPFSInit]]
* [[DosSMDoAppReq]]
*[[DosPFSQueryAct]]
* [[DosScrLock]]
*[[DosPFSVerifyFont]]
* [[DosSavRedrawWait]]
* [[DosSavRedrawUndo]]
* [[DosSetMNLockTime]]
* [[DosModeUndo]]
* [[DosSMGetStatus]]
* [[DosModeWait]]
* [[DosSMTerminate]]
* [[DosSMGetAppReq]]
* DosSMRealPrtSc
* [[DosSMInitialize]]
* [[DosSMStart]]
* [[DosSMParentSwitch]]
* [[DosSMPause]]
* [[DosSMHDEInit]]
* [[DosSMPMPresent]]
* [[DosSMRegisterDD]]
* [[DosSMSysInit]]
* [[DosSMNotifyDD]]
* [[DosSMNotifyDD2]]
* [[DosSMOpenDD]]
* [[DosSMSetSessionType]]
* [[DosRegisterNotification]]
</div>


=== Quickhelp ===
====I/O Privileges====
* [[QhKeybdHandle]]
*[[DosCLIAccess]]
* [[QhMouseHandle]]
*[[DosPortAccess]]


=== Timer ===
====Segments====
* [[OS2 API:CPI:LEGACY:DosTimerAsync|DosTimerAsync]]
*[[DosCreateCSAlias]]
* [[OS2 API:CPI:LEGACY:DosTimerStart|DosTimerStart]]
* [[OS2 API:CPI:LEGACY:DosTimerStop|DosTimerStop]]


=== Addressing ===
*[[DosFileIO]]
* [[OS2 API:CPI:LEGACY:DosFlatToSel|DosFlatToSel]] [[image:Vraag.gif]]
* [[OS2 API:CPI:LEGACY:DosSelToFlat|DosSelToFlat]] [[image:Vraag.gif]]


=== Spool ===
*[[DosGetEnv]]
* [[OS2 API:CPI:LEGACY:DosPFSActivate|DosPFSActivate]] * Not found on OS2TK45
*[[DosGetHugeShift]]
* [[OS2 API:CPI:LEGACY:DosPFSCloseUser|DosPFSCloseUser]] * Not found on OS2TK45
*[[DosGetMachineMode]]
* [[OS2 API:CPI:LEGACY:DosPFSInit|DosPFSInit]] * Not found on OS2TK45
* [[OS2 API:CPI:LEGACY:DosPFSQueryAct|DosPFSQueryAct]] * Not found on OS2TK45
* [[OS2 API:CPI:LEGACY:DosPFSVerifyFont|DosPFSVerifyFont]] * Not found on OS2TK45


===To SORT===
*[[DosGetProcAddr]]


* [[OS2 API:CPI:LEGACY:DosCallback|DosCallback]]
*[[DosGetVersion]]
* [[OS2 API:CPI:LEGACY:DosCLIAccess|DosCLIAccess]]
* [[OS2 API:CPI:LEGACY:DosCreateCSAlias|DosCreateCSAlias]]
* [[OS2 API:CPI:LEGACY:DosFileIO|DosFileIO]]
* [[OS2 API:CPI:LEGACY:DosFindClose|DosFindClose]]
* [[OS2 API:CPI:LEGACY:DosFlagProcess|DosFlagProcess]]
* [[OS2 API:CPI:LEGACY:DosGetEnv|DosGetEnv]]
* [[OS2 API:CPI:LEGACY:DosGetHugeShift|DosGetHugeShift]]
* [[OS2 API:CPI:LEGACY:DosGetMachineMode|DosGetMachineMode]]


* [[OS2 API:CPI:LEGACY:DosGetProcAddr|DosGetProcAddr]]
*[[DosR2StackRealloc]]
* [[OS2 API:CPI:LEGACY:DosGetPrty|DosGetPrty]]
* [[OS2 API:CPI:LEGACY:DosGetShrSeg|DosGetShrSeg]]
* [[OS2 API:CPI:LEGACY:DosGetVersion|DosGetVersion]]
* [[OS2 API:CPI:LEGACY:DosHoldSignal|DosHoldSignal]]


* [[OS2 API:CPI:LEGACY:DosPortAccess|DosPortAccess]]
*[[DosSetVec]]
* [[OS2 API:CPI:LEGACY:DosR2StackRealloc|DosR2StackRealloc]]
*[[DosSysCtl]]
* [[OS2 API:CPI:LEGACY:DosReadAsync|DosReadAsync]]
*[[DosQueryRASInfo]]


* [[OS2 API:CPI:LEGACY:DosSetSigHandler|DosSetSigHandler]]
====QuickHelp====
* [[OS2 API:CPI:LEGACY:DosSetVec|DosSetVec]]
*[[QhKeybdHandle]]
* [[OS2 API:CPI:LEGACY:DosSMRegisterDD|DosSMRegisterDD]]
*[[QhMouseHandle]]
* [[OS2 API:CPI:LEGACY:DosWriteAsync|DosWriteAsync]]


=== Keyboard functions ===
===Keyboard functions===
* [[KbdCharIn]]
*[[KbdCharIn]] - character data record from keyboard
* [[KbdFlushBuffer]]
*[[KbdClose]] - closes logical keyboard
* [[KbdGetCp]]
*[[KbdDeRegister]] - deregister keyboard subsystem
* [[KbdSetCp]]
*[[KbdFlushBuffer]] -
* [[KbdPeek]]
*[[KbdFreeFocus]]
* [[KbdRegister]]
*[[KbdGetCp]]
* [[KbdDeRegister]]
*[[KbdGetFocus]] -
* [[KbdOpen]]
*[[KbdGetHWId]]
* [[KbdClose]]
*[[KbdGetStatus]] -
* [[KbdGetFocus]]  
*[[KbdInit]] -
* [[KbdFreeFocus]]
*[[KbdOpen]] -
* [[KbdSynch]]  
*[[KbdPeek]] -
* [[KbdSetFgnd]]
*[[KbdRegister]]
* [[KbdGetHWId]]
*[[KbdSetCp]]
* [[KbdSetHWID]] [[image:Vraag.gif]]
*[[KbdSetCustXt]]
* [[KbdSetCustXt]]
*[[KbdSetFgnd]]
* [[KbdGetStatus]]
*[[KbdSetHWID]]
* [[KbdSetStatus]]
*[[KbdSetStatus]]
* [[KbdStringIn]]
*[[KbdSynch]] -
* [[KbdXlate]]
*[[KbdStringIn]]
* [[KbdInit]] [[image:Vraag.gif]]
*[[KbdXlate]]


==== Mouse functions ====
===Mouse functions===
* [[OS2 API:CPI:LEGACY:MouRegister|MouRegister]]
*[[MouRegister]]
* [[OS2 API:CPI:LEGACY:MouDeRegister|MouDeRegister]]
*[[MouDeRegister]]
* [[OS2 API:CPI:LEGACY:MouOpen|MouOpen]]
*[[MouOpen]]
* [[OS2 API:CPI:LEGACY:MouClose|MouClose]]  
*[[MouClose]]  
* [[OS2 API:CPI:LEGACY:MouInitReal|MouInitReal]]  
*[[MouInitReal]]  
* [[OS2 API:CPI:LEGACY:MouSynch|MouSynch]]  
*[[MouSynch]]  
* [[OS2 API:CPI:LEGACY:MouDrawPtr|MouDrawPtr]]
*[[MouDrawPtr (OS/2 1.x)|MouDrawPtr]]
* [[OS2 API:CPI:LEGACY:MouFlushQue|MouFlushQue]]
*[[MouFlushQue (OS/2 1.x)|MouFlushQue]]
* [[OS2 API:CPI:LEGACY:MouGetDevStatus|MouGetDevStatus]]
*[[MouGetDevStatus (OS/2 1.x)|MouGetDevStatus]]
* [[OS2 API:CPI:LEGACY:MouGetEventMask|MouGetEventMask]]
*[[MouGetEventMask (OS/2 1.x)|MouGetEventMask]]
* [[OS2 API:CPI:LEGACY:MouGetNumButtons|MouGetNumButtons]]
*[[MouGetNumButtons (OS/2 1.x)|MouGetNumButtons]]
* [[OS2 API:CPI:LEGACY:MouGetNumMickeys|MouGetNumMickeys]]
*[[MouGetNumMickeys (OS/2 1.x)|MouGetNumMickeys]]
* [[OS2 API:CPI:LEGACY:MouGetNumQueEl|MouGetNumQueEl]]
*[[MouGetNumQueEl (OS/2 1.x)|MouGetNumQueEl]]
* [[OS2 API:CPI:LEGACY:MouGetPtrPos|MouGetPtrPos]]
*[[MouGetPtrPos]]
* [[OS2 API:CPI:LEGACY:MouGetPtrShape|MouGetPtrShape]]
*[[MouGetPtrShape (OS/2 1.x)|MouGetPtrShape]]
* [[OS2 API:CPI:LEGACY:MouGetScaleFact|MouGetScaleFact]]
*[[MouGetScaleFact (OS/2 1.x)|MouGetScaleFact]]
* [[OS2 API:CPI:LEGACY:MouReadEventQue|MouReadEventQue]]
*[[MouReadEventQue (OS/2 1.x)|MouReadEventQue]]
* [[OS2 API:CPI:LEGACY:MouRemovePtr|MouRemovePtr]]
*[[MouRemovePtr (OS/2 1.x)|MouRemovePtr]]
* [[OS2 API:CPI:LEGACY:MouSetDevStatus|MouSetDevStatus]]
*[[MouSetDevStatus (OS/2 1.x)|MouSetDevStatus]]
* [[OS2 API:CPI:LEGACY:MouSetEventMask|MouSetEventMask]]
*[[MouSetEventMask (OS/2 1.x)|MouSetEventMask]]
* [[OS2 API:CPI:LEGACY:MouSetPtrPos|MouSetPtrPos]]
*[[MouSetPtrPos (OS/2 1.x)|MouSetPtrPos]]
* [[OS2 API:CPI:LEGACY:MouSetPtrShape|MouSetPtrShape]]
*[[MouSetPtrShape (OS/2 1.x)|MouSetPtrShape]]
* [[OS2 API:CPI:LEGACY:MouSetScaleFact|MouSetScaleFact]]
*[[MouSetScaleFact (OS/2 1.x)|MouSetScaleFact]]
* [[OS2 API:CPI:LEGACY:MouShellInit|MouShellInit]] [[image:Vraag.gif]]
*[[MouShellInit]]
* [[OS2 API:CPI:LEGACY:MouGetHotKey|MouGetHotKey]] [[image:Vraag.gif]]
*[[MouGetHotKey]]
* [[OS2_API:CPI:LEGACY:MouSetHotKey|MouSetHotKey]] [[image:Vraag.gif]]
*[[MouSetHotKey]]
* [[OS2_API:CPI:LEGACY:MouFree|MouFree]] [[image:Vraag.gif]]
*[[MouFree]]


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


==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