Jump to content

Control Program Functions: Difference between revisions

From EDM2
 
(130 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Control Programming Interface ==
__NOTOC__
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==
===File Functions===
*[[DosClose]] - Closes a file handle
*[[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


=== Date/Time ===
==Memory Management==
* [[OS2 API:CPI:DosGetDateTime|DosGetDateTime]]
===Memory Functions===
* [[OS2 API:CPI:DosSetDateTime|DosSetDateTime]]
*[[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


=== Device I/O ===
===Memory Suballocation Functions===
* [[OS2 API:CPI:DosBeep|DosBeep]]
*[[DosSubAllocMem]] - Suballocates a block of memory from a heap that was previously initialized
* [[OS2 API:CPI:DosDevConfig|DosDevConfig]]
*[[DosSubFreeMem]] - Frees a block of memory that was previously suballocated
* [[OS2 API:CPI:DosDevIOCtl|DosDevIOCtl]]
*[[DosSubSetMem]] - Initializes a heap for suballocation, or increases the size of a previously initialized heap
* [[OS2 API:CPI:DosListIO|DosListIO]]
*[[DosSubUnsetMem]] - Terminates the use of a heap
* [[OS2 API:CPI:DosListIOL|DosListIOL]]
* [[OS2 API:CPI:DosPhysicalDisk|DosPhysicalDisk]]
* [[OS2 API:CPI:DosTmrQueryFreq|DosTmrQueryFreq]]
* [[OS2 API:CPI:DosTmrQueryTime|DosTmrQueryTime]]


=== Dynamic Linking Library ===
===Shared Memory Functions===
* [[OS2 API:CPI:DosFreeModule|DosFreeModule]]
*[[DosAllocSharedMem]] - Allocates a shared memory object within the virtual address space
* [[OS2 API:CPI:DosLoadModule|DosLoadModule]]
*[[DosGetNamedSharedMem]] - Obtains access to an existing named shared memory object
* [[OS2 API:CPI:DosQueryAppType|DosQueryAppType]]
*[[DosGetSharedMem]] - Obtains access to an existing shared memory object
* [[OS2 API:CPI:DosQueryModuleHandle|DosQueryModuleHandle]]
*[[DosGiveSharedMem]] - Gives a target process access to an existing shared memory object
* [[OS2 API:CPI:DosQueryModuleName|DosQueryModuleName]]
* [[OS2 API:CPI:DosQueryProcAddr|DosQueryProcAddr]]
* [[OS2 API:CPI:DosQueryProcType|DosQueryProcType]]


=== Error Management ===
===Thread Local Memory Functions===
* [[OS2 API:CPI:DosErrClass|DosErrClass]]
*[[DosAllocThreadLocalMemory]] - Allocates a block of memory that is unique, or local, to a thread
* [[OS2 API:CPI:DosError|DosError]]
*[[DosFreeThreadLocalMemory]] - Frees a block of thread-local memory
* [[OS2 API:CPI:DosDebug|DosDebug]]
* [[OS2 API:CPI:DosSuppressPopUps|DosSuppressPopUps]]
* [[OS2 API:CPI:DosDumpProcess|DosDumpProcess]]  * Addendum
* [[OS2 API:CPI:DosForceSystemDump|DosForceSystemDump]]  * Addendum
* [[OS2 API:CPI:Dos16SysTrace|Dos16SysTrace]]      * Addendum


=== Exception Management ===
==Program Execution Control==
* [[OS2 API:CPI:DosQueryModFromEIP|DosQueryModFromEIP]]   * Addendum
===Thread Control Functions===
* [[OS2 API:CPI:DosRaiseException|DosRaiseException]]
*[[DosCreateThread]]
* [[OS2 API:CPI:DosSetExceptionHandler|DosSetExceptionHandler]]
*[[DosEnterCritSec]]
* [[OS2 API:CPI:DosUnsetExceptionHandler|DosUnsetExceptionHandler]]
*[[DosExit]] - Terminates thread execution in the current process
* [[OS2 API:CPI:DosUnwindException|DosUnwindException]]
*[[DosExitCritSec]] - Enables thread switching for the current process
* [[OS2 API:CPI:Dos16QueryModFromCS|Dos16QueryModFromCS]] * Addendum
*[[DosGetInfoBlocks]]
*[[DosKillThread]]
*[[DosResumeThread]]
*[[DosSetPriority]]
*[[DosSuspendThread]]
*[[DosWaitThread]]


==== Must Complete Management ====
===Process Control Functions===
* [[OS2 API:CPI:DosEnterMustComplete|DosEnterMustComplete]]
*[[DosExecPgm]] - Executes another program as a child process
* [[OS2 API:CPI:DosExitMustComplete|DosExitMustComplete]]
*[[DosExitList]] - Defines a list of routines to be executed when the current process ends
==== Signaling Exception Management ====
*[[DosKillProcess]]
* [[OS2 API:CPI:DosAcknowledgeSignalException|DosAcknowledgeSignalException]]
*[[DosWaitChild]] - Waits for a child process to end
* [[OS2 API:CPI:DosSendSignalException|DosSendSignalException]]
* [[OS2 API:CPI:DosSetSignalExceptionFocus|DosSetSignalExceptionFocus]]


=== File Systems/File Management ===
===Session Control Functions===
==== Directory Searching ====
*[[DosSelectSession]] - Selects a child session
* [[OS2 API:CPI:DosFindClose|DosFindClose]]
*[[DosSetSession]] - Sets the status of a child session
* [[OS2 API:CPI:DosFindFirst|DosFindFirst]]
*[[DosStartSession]] - Starts an unrelated or child session
* [[OS2 API:CPI:DosFindNext|DosFindNext]]
*[[DosStopSession]] - Terminates one or all child sessions
==== Directory ====
* [[OS2 API:CPI:DosCreateDir|DosCreateDir]]
* [[OS2 API:CPI:DosDeleteDir|DosDeleteDir]]
* [[OS2 API:CPI:DosQueryCurrentDir|DosQueryCurrentDir]]
* [[OS2 API:CPI:DosSetCurrentDir|DosSetCurrentDir]]
==== Disk ====
* [[OS2 API:CPI:DosQueryCurrentDisk|DosQueryCurrentDisk]]
* [[OS2 API:CPI:DosSetDefaultDisk|DosSetDefaultDisk]]
==== Environment/Path ====
* [[OS2 API:CPI:DosScanEnv|DosScanEnv]]
* [[OS2 API:CPI:DosSearchPath|DosSearchPath]]
===== LibPath =====
* [[OS2 API:CPI:DosQueryExtLIBPATH|DosQueryExtLIBPATH]]
* [[OS2 API:CPI:DosSetExtLIBPATH|DosSetExtLIBPATH]]


==== File Manipulation ====
==Semaphore Functions==
* [[OS2 API:CPI:DosCancelLockRequest|DosCancelLockRequest]]
===Event Semaphore Functions===
* [[OS2 API:CPI:DosCancelLockRequestL|DosCancelLockRequestL]] * Addendum
*[[DosCloseEventSem]] - Closes an event semaphore
* [[OS2 API:CPI:DosClose|DosClose]]
*[[DosCreateEventSem]] - Creates an event semaphore
* [[OS2 API:CPI:DosProtectClose|DosProtectClose]]
*[[DosOpenEventSem]] - Opens an event semaphore for use
* [[OS2 API:CPI:DosCopy|DosCopy]]
*[[DosPostEventSem]] - Posts an event semaphore
* [[OS2 API:CPI:DosDelete|DosDelete]]
*[[DosQueryEventSem]]
* [[OS2 API:CPI:DosEditName|DosEditName]]
*[[DosResetEventSem]] - Resets an event semaphore
* [[OS2 API:CPI:DosForceDelete|DosForceDelete]]
*[[DosWaitEventSem]]
* [[OS2 API:CPI:DosMove|DosMove]]
* [[OS2 API:CPI:DosOpen|DosOpen]]
* [[OS2 API:CPI:DosOpenL|DosOpenL]] * Addendum
* [[OS2 API:CPI:DosProtectOpen|DosProtectOpen]]
* [[OS2 API:CPI:DosProtectOpenL|DosProtectOpenL]] * Addendum
* [[OS2 API:CPI:DosRead|DosRead]]
* [[OS2 API:CPI:DosReplaceModule|DosReplaceModule]] * Addendum
* [[OS2 API:CPI:DosProtectRead|DosProtectRead]]
* [[OS2 API:CPI:DosSetFileInfo|DosSetFileInfo]]
* [[OS2 API:CPI:DosProtectSetFileInfo|DosProtectSetFileInfo]]
* [[OS2 API:CPI:DosSetFileLocks|DosSetFileLocks]]
* [[OS2 API:CPI:DosSetFileLocksL|DosSetFileLocksL]] * Addendum
* [[OS2 API:CPI:DosProtectSetFileLocks|DosProtectSetFileLocks]]
* [[OS2 API:CPI:DosProtectSetFileLocksL|DosProtectSetFileLocksL]] * Addendum
* [[OS2 API:CPI:DosSetFilePtr|DosSetFilePtr]]
* [[OS2 API:CPI:DosSetFilePtrL|DosSetFilePtrL]] * Addendum
* [[OS2 API:CPI:DosProtectSetFilePtr|DosProtectSetFilePtr]]
* [[OS2 API:CPI:DosProtectSetFilePtrL|DosProtectSetFilePtrL]] * Addendum
* [[OS2 API:CPI:DosSetFileSize|DosSetFileSize]]
* [[OS2 API:CPI:DosSetFileSizeL|DosSetFileSizeL]] * Addendum
* [[OS2 API:CPI:DosProtectSetFileSize|DosProtectSetFileSize]]
* [[OS2 API:CPI:DosProtectSetFileSizeL|DosProtectSetFileSizeL]] * Addendum
* [[OS2 API:CPI:DosSetPathInfo|DosSetPathInfo]]
* [[OS2 API:CPI:DosSetVerify|DosSetVerify]]
* [[OS2 API:CPI:DosWrite|DosWrite]]
* [[OS2 API:CPI:DosProtectWrite|DosProtectWrite]]


==== File Handle Manipulation ====
===Mutex Semaphore Functions===
* [[OS2 API:CPI:DosDupHandle|DosDupHandle]]
*[[DosCloseMutexSem]]
* [[OS2 API:CPI:DosQueryFHState|DosQueryFHState]]
*[[DosCreateMutexSem]]
* [[OS2 API:CPI:DosProtectQueryFHState|DosProtectQueryFHState]]
*[[DosOpenMutexSem]]
* [[OS2 API:CPI:DosQueryHType|DosQueryHType]]
*[[DosQueryMutexSem]]
* [[OS2 API:CPI:DosResetBuffer|DosResetBuffer]]
*[[DosReleaseMutexSem]]
* [[OS2 API:CPI:DosSetFHState|DosSetFHState]]
*[[DosRequestMutexSem]]
* [[OS2 API:CPI:DosProtectSetFHState|DosProtectSetFHState]]
* [[OS2 API:CPI:DosSetMaxFH|DosSetMaxFH]]
* [[OS2 API:CPI:DosSetRelMaxFH|DosSetRelMaxFH]]


==== File Querying ====
===Muxwait Semaphore Functions===
* [[OS2 API:CPI:DosEnumAttribute|DosEnumAttribute]]
*[[DosAddMuxWaitSem]]
* [[OS2 API:CPI:DosProtectEnumAttribute|DosProtectEnumAttribute]]
*[[DosCloseMuxWaitSem]]
* [[OS2 API:CPI:DosQueryFileInfo|DosQueryFileInfo]]
*[[DosCreateMuxWaitSem]]
* [[OS2 API:CPI:DosProtectQueryFileInfo|DosProtectQueryFileInfo]]
*[[DosDeleteMuxWaitSem]]
* [[OS2 API:CPI:DosQueryPathInfo|DosQueryPathInfo]]
*[[DosOpenMuxWaitSem]]
* [[OS2 API:CPI:DosQuerySysInfo|DosQuerySysInfo]]
*[[DosQueryMuxWaitSem]]
* [[OS2 API:CPI:DosQuerySysState|DosQuerySysState]]   * Addendum
*[[DosWaitMuxWaitSem]] - Waits for a muxwait semaphore to clear
* [[OS2 API:CPI:DosQueryVerify|DosQueryVerify]]
* [[OS2 API:CPI:DosPerfSysCall|DosPerfSysCall]]
* [[OS2 API:CPI:DosGetProcessorStatus|DosGetProcessorStatus]]   * Addendum
* [[OS2 API:CPI:DosSetProcessorStatus|DosSetProcessorStatus]]   * Addendum
* [[OS2 API:CPI:DosQueryABIOSSupport|DosQueryABIOSSupport]]   * Addendum


==== File System Functions ====
==Pipe Functions==
* [[OS2 API:CPI:DosFSAttach|DosFSAttach]]
===Named-Pipe Functions===
* [[OS2 API:CPI:DosFSCtl|DosFSCtl]]
*[[DosCallNPipe]]
* [[OS2 API:CPI:DosQueryFSAttach|DosQueryFSAttach]]
*[[DosConnectNPipe]]
* [[OS2 API:CPI:DosQueryFSInfo|DosQueryFSInfo]]
*[[DosCreateNPipe]] - Creates a named pipe
* [[OS2 API:CPI:DosResetBuffer|DosResetBuffer]]
*[[DosDisConnectNPipe]]
* [[OS2 API:CPI:DosSetFSInfo|DosSetFSInfo]]
*[[DosPeekNPipe]]
* [[OS2 API:CPI:DosShutdown|DosShutdown]]
*[[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


=== Memory Management ===
===Unnamed-Pipe Functions===
* [[OS2 API:CPI:DosAliasMem|DosAliasMem]] * Addendum
*DosClose - Closes a file or pipe
* [[OS2 API:CPI:DosAllocMem|DosAllocMem]]
*[[DosCreatePipe]] - Creates an unnamed (anonymous) pipe
* [[OS2 API:CPI:DosFreeMem|DosFreeMem]]
*DosDupHandle, DosOpen, DosRead, DosWrite
* [[OS2 API:CPI:DosQueryMem|DosQueryMem]]
* [[OS2 API:CPI:DosQueryMemState|DosQueryMemState]]   * Addendum
* [[OS2 API:CPI:DosSetMem|DosSetMem]]


==== Heap Memory ====
==Queue Functions==
* [[OS2 API:CPI:DosSubAllocMem|DosSubAllocMem]]
*[[DosCloseQueue]] - Closes a queue
* [[OS2 API:CPI:DosSubFreeMem|DosSubFreeMem]]
*[[DosCreateQueue]] - Creates a queue
* [[OS2 API:CPI:DosSubSetMem|DosSubSetMem]]
*[[DosOpenQueue]] - Opens a queue
* [[OS2 API:CPI:DosSubUnsetMem|DosSubUnsetMem]]
*[[DosPeekQueue]]
*[[DosPurgeQueue]]
*[[DosQueryQueue]] - Returns the number of elements in a queue
*[[DosReadQueue]]
*[[DosWriteQueue]] - Writes an element to a queue


==== Shared Memory ====
==Timer Functions==
* [[OS2 API:CPI:DosAllocSharedMem|DosAllocSharedMem]]
*[[DosAsyncTimer]]
* [[OS2 API:CPI:DosGetNamedSharedMem|DosGetNamedSharedMem]]
*[[DosSleep]] - Suspends the current thread for a specified time interval
* [[OS2 API:CPI:DosGetSharedMem|DosGetSharedMem]]
*[[DosStartTimer]]
* [[OS2 API:CPI:DosGiveSharedMem|DosGiveSharedMem]]
*[[DosStopTimer]]


==== Thread local Memory ====
==Error Management Functions==
* [[OS2 API:CPI:DosAllocThreadLocalMemory|DosAllocThreadLocalMemory]]
*[[DosErrClass]]
* [[OS2 API:CPI:DosFreeThreadLocalMemory|DosFreeThreadLocalMemory]]
*[[DosError]] - Disables and enables hard-error and exception pop-up messages


=== Message Management ===
==Exception Handling Functions==
* [[OS2 API:CPI:DosGetMessage|DosGetMessage]]
*[[DosRaiseException]] - Raises an exception
* [[OS2 API:CPI:DosInsertMessage|DosInsertMessage]]
*[[DosSetExceptionHandler]] - Registers an exception handler
* [[OS2 API:CPI:DosPutMessage|DosPutMessage]]
*[[DosUnsetExceptionHandler]]
* [[OS2 API:CPI:DosQueryMessageCp|DosQueryMessageCp]]
*[[DosUnwindException]]


=== National Language/Code Page ===
===Signal Exception Functions===
* [[OS2 API:CPI:DosQueryCp|DosQueryCp]]
*[[DosAcknowledgeSignalException]]
* [[OS2 API:CPI:DosSetProcessCp|DosSetProcessCp]]
*[[DosSendSignalException]]
*[[DosSetSignalExceptionFocus]] - Sets keyboard signal focus


* [[OS2 API:CPI:DosMapCase|DosMapCase]]
===Must-Complete Functions===
* [[OS2 API:CPI:DosQueryCollate|DosQueryCollate]]
*[[DosEnterMustComplete]] - Enters a must-complete section of code
* [[OS2 API:CPI:DosQueryCtryInfo|DosQueryCtryInfo]]
*[[DosExitMustComplete]] - Exits a must-complete section of code
* [[OS2 API:CPI:DosQueryDBCSEnv|DosQueryDBCSEnv]]


=== Pipes ===
==Device I/O Functions==
* [[OS2 API:CPI:DosCreatePipe|DosCreatePipe]]
*[[DosBeep]]
==== Named Pipes ====
*[[DosDevConfig]]
* [[OS2 API:CPI:DosCallNPipe|DosCallNPipe]]
*[[DosDevIOCtl]]
* [[OS2 API:CPI:DosConnectNPipe|DosConnectNPipe]]
*[[DosPhysicalDisk]]
* [[OS2 API:CPI:DosCreateNPipe|DosCreateNPipe]]
* [[OS2 API:CPI:DosDisConnectNPipe|DosDisConnectNPipe]]
* [[OS2 API:CPI:DosPeekNPipe|DosPeekNPipe]]
* [[OS2 API:CPI:DosQueryNPHState|DosQueryNPHState]]
* [[OS2 API:CPI:DosQueryNPipeInfo|DosQueryNPipeInfo]]
* [[OS2 API:CPI:DosQueryNPipeSemState|DosQueryNPipeSemState]]
* [[OS2 API:CPI:DosResetBuffer|DosResetBuffer]]
* [[OS2 API:CPI:DosSetNPHState|DosSetNPHState]]
* [[OS2 API:CPI:DosSetNPipeSem|DosSetNPipeSem]]
* [[OS2 API:CPI:DosTransactNPipe|DosTransactNPipe]]
* [[OS2 API:CPI:DosWaitNPipe|DosWaitNPipe]]


=== Queues ===
File System Functions Used to Perform I/O to Devices:
* [[OS2 API:CPI:DosCloseQueue|DosCloseQueue]]
*DosClose
* [[OS2 API:CPI:DosQueryQueue|DosQueryQueue]]
*DosOpen
* [[OS2 API:CPI:DosWriteQueue|DosWriteQueue]]
*DosRead
==== Server ====
*DosWrite
* [[OS2 API:CPI:DosCreateQueue|DosCreateQueue]]
* [[OS2 API:CPI:DosPeekQueue|DosPeekQueue]]
* [[OS2 API:CPI:DosPurgeQueue|DosPurgeQueue]]
* [[OS2 API:CPI:DosReadQueue|DosReadQueue]]
==== Client ====
* [[OS2 API:CPI:DosOpenQueue|DosOpenQueue]]


=== Resource Management ===
==Message Management Functions==
* [[OS2 API:CPI:DosFreeResource|DosFreeResource]]
*[[DosGetMessage]] - Retrieves a message from a message file
* [[OS2 API:CPI:DosGetResource|DosGetResource]]
*[[DosInsertMessage]] - Inserts variable text into message
* [[OS2 API:CPI:DosQueryResourceSize|DosQueryResourceSize]]
*[[DosPutMessage]] - Sends a message to an output file or device
*[[DosQueryMessageCP]] - Retrieves a message file list of code pages and language identifiers


=== Semaphores ===
==Code Page Management Functions==
==== Event Semaphores ====
===Code Page Functions===
* [[OS2 API:CPI:DosCloseEventSem|DosCloseEventSem]]
*[[DosQueryCp]]
* [[OS2 API:CPI:DosCreateEventSem|DosCreateEventSem]]
*[[DosSetProcessCp]] - Sets the code page of a process
* [[OS2 API:CPI:DosOpenEventSem|DosOpenEventSem]]
* [[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 ===
===Country Dependent Functions===
* [[OS2 API:CPI:DosExit|DosExit]]
*[[DosMapCase]]
* [[OS2 API:CPI:DosGetInfoBlocks|DosGetInfoBlocks]]
*[[DosQueryCollate]]
* [[OS2 API:CPI:DosSetPriority|DosSetPriority]]
*[[DosQueryCtryInfo]]
==== Processes ====
*[[DosQueryDBCSEnv]]
* [[OS2 API:CPI:DosEnterCritSec|DosEnterCritSec]]
*DosQueryMessageCP
* [[OS2 API:CPI:DosExecPgm|DosExecPgm]]
* [[OS2 API:CPI:DosExitCritSec|DosExitCritSec]]
* [[OS2 API:CPI:DosExitList|DosExitList]]
* [[OS2 API:CPI:DosKillProcess|DosKillProcess]]
* [[OS2 API:CPI:DosWaitChild|DosWaitChild]]
==== Threads ====
* [[OS2 API:CPI:DosCreateThread|DosCreateThread]]
* [[OS2 API:CPI:DosCreateThread2|DosCreateThread2]] * Addendum
* [[OS2 API:CPI:DosKillThread|DosKillThread]]
* [[OS2 API:CPI:DosQueryThreadAffinity|DosQueryThreadAffinity]]    * Addendum
* [[OS2 API:CPI:DosQueryThreadContext|DosQueryThreadContext]]
* [[OS2 API:CPI:DosResumeThread|DosResumeThread]]
* [[OS2 API:CPI:DosSetThreadAffinity|DosSetThreadAffinity]] * Addendum
* [[OS2 API:CPI:DosSleep|DosSleep]]
* [[OS2 API:CPI:DosSuspendThread|DosSuspendThread]]
* [[OS2 API:CPI:DosVerifyPidTid|DosVerifyPidTid]]      * Addendum
* [[OS2 API:CPI:DosWaitThread|DosWaitThread]]


=== Session Management ===
==Debugging Functions==
* [[OS2 API:CPI:DosSelectSession|DosSelectSession]]
*[[DosDebug]] - Used by one process to control another for debugging purposes
* [[OS2 API:CPI:DosSetSession|DosSetSession]]
* [[OS2 API:CPI:DosStartSession|DosStartSession]]
* [[OS2 API:CPI:DosStopSession|DosStopSession]]


=== Timer ===
==Dynamic Linking Functions==
* [[OS2 API:CPI:DosAsyncTimer|DosAsyncTimer]]
*[[DosFreeModule]] - Frees the reference to the dynamic link module for the process
* [[OS2 API:CPI:DosStartTimer|DosStartTimer]]
*[[DosLoadModule]] - Loads a dynamic link module, and returns a handle for the module
* [[OS2 API:CPI:DosStopTimer|DosStopTimer]]
*[[DosQueryModuleHandle]]
*[[DosQueryModuleName]]
*[[DosQueryProcAddr]] - Returns the address of the specified procedure within a dynamic link module


=== VDD ===
==Dos...==
* [[OS2 API:CPI:DosCloseVDD|DosCloseVDD]]
===Unsorted===
* [[OS2 API:CPI:DosOpenVDD|DosOpenVDD]]
*[[DosAliasMem]]
* [[OS2 API:CPI:DosRequestVDD|DosRequestVDD]]
*[[DosQueryMemState]]
*[[DosListIO]]
*[[DosQueryAppType]]
*[[DosQueryProcType]]
*[[DosResetBuffer]]


==== Keyboard functions ====
=== Date/Time ===
* [[OS2 API:CPI:KbdCharIn|KbdCharIn]]
*[[DosGetDateTime]]
* [[OS2 API:CPI:KbdGetConsole|KbdGetConsole]]
*[[DosSetDateTime]]
* [[OS2 API:CPI:KbdPeek|KbdPeek]]
* [[OS2 API:CPI:KbdStringIn|KbdStringIn]]
* [[OS2 API:CPI:KbdFlushBuffer|KbdFlushBuffer]]
* [[OS2 API:CPI:KbdSetStatus|KbdSetStatus]]
* [[OS2 API:CPI:KbdGetStatus|KbdGetStatus]]
* [[OS2 API:CPI:KbdSetCp|KbdSetCp]]
* [[OS2 API:CPI:KbdGetCp|KbdGetCp]]
* [[OS2 API:CPI:KbdGetLayout|KbdGetLayout]]
* [[OS2 API:CPI:KbdGetLayoutUni|KbdGetLayoutUni]]
* [[OS2 API:CPI:KbdSetLayout|KbdSetLayout]]
* [[OS2 API:CPI:KbdSetLayoutUni|KbdSetLayoutUni]]
* [[OS2 API:CPI:KbdGetHWID|KbdGetHWID]]
* [[OS2 API:CPI:KbdXlate|KbdXlate]]


==== Mouse functions ====
===Timer===
* [[OS2 API:CPI:MouFlushQue|MouFlushQue]]
*[[DosTmrQueryFreq]]
* [[OS2 API:CPI:MouGetPtrPos|MouGetPtrPos]]
*[[DosTmrQueryTime]]
* [[OS2 API:CPI:MouSetPtrPos|MouSetPtrPos]]
* [[OS2 API:CPI:MouSetPtrShape|MouSetPtrShape]]
* [[OS2 API:CPIMouGetPtrShape|MouGetPtrShape]]
* [[OS2 API:CPI:MouGetDevStatus|MouGetDevStatus]]
* [[OS2 API:CPI:MouGetNumButtons|MouGetNumButtons]]
* [[OS2 API:CPI:MouGetNumMickeys|MouGetNumMickeys]]
* [[OS2 API:CPI:MouReadEventQue|MouReadEventQue]]
* [[OS2 API:CPI:MouGetNumQueEl|MouGetNumQueEl]]
* [[OS2 API:CPI:MouGetEventMask|MouGetEventMask]]
* [[OS2 API:CPI:MouSetEventMask|MouSetEventMask]]
* [[OS2 API:CPI:MouGetScaleFact|MouGetScaleFact]]
* [[OS2 API:CPI:MouSetScaleFact|MouSetScaleFact]]
* [[OS2 API:CPI:MouRemovePtr|MouRemovePtr]]
* [[OS2 API:CPI:MouDrawPtr|MouDrawPtr]]
* [[OS2 API:CPI:MouSetDevStatus|MouSetDevStatus]]
* [[OS2 API:CPI:MouGetThreshold|MouGetThreshold]]
* [[OS2 API:CPI:MouSetThreshold|MouSetThreshold]]


==== Video I/O functions ====
=== Error Management ===
* [[OS2 API:CPI:VioGetBuf|VioGetBuf]]
*[[DosSuppressPopUps]]
* [[OS2 API:CPI:VioGetCurPos|VioGetCurPos]]
*[[DosDumpProcess]]
* [[OS2 API:CPI:VioSetCurPos|VioSetCurPos]]
*[[DosForceSystemDump]]
* [[OS2 API:CPI:VioGetCurType|VioGetCurType]]
*[[Dos16SysTrace]]
* [[OS2 API:CPI:VioSetCurType|VioSetCurType]]
* [[OS2 API:CPI:VioGetMode|VioGetMode]]
* [[OS2 API:CPI:VioSetMode|VioSetMode]]
* [[OS2 API:CPI:VioReadCellStr|VioReadCellStr]]
* [[OS2 API:CPI:VioReadCharStr|VioReadCharStr]]
* [[OS2 API:CPI:VioWrtCellStr|VioWrtCellStr]]
* [[OS2 API:CPI:VioWrtCharStr|VioWrtCharStr]]
* [[OS2 API:CPI:VioScrollUp|VioScrollUp]] * N/A - Check Legacy
* [[OS2 API:CPI:VioScrollDown|VioScrollDown]] * Not Implemented
* [[OS2 API:CPI:VioScrollLeft|VioScrollLeft]] * Not Implemented
* [[OS2 API:CPI:VioScrollRight|VioScrollRight]] * Not Implemented
* [[OS2 API:CPI:VioWrtNAttr|VioWrtNAttr]]
* [[OS2 API:CPI:VioWrtNCell|VioWrtNCell]]
* [[OS2 API:CPI:VioWrtNChar|VioWrtNChar]]
* [[OS2 API:CPI:VioWrtTTY|VioWrtTTY]]
* [[OS2 API:CPI:VioWrtCharStrAtt|VioWrtCharStrAtt]]
* [[OS2 API:CPI:VioShowBuf|VioShowBuf]]
* [[OS2 API:CPI:VioSetAnsi|VioSetAnsi]]
* [[OS2 API:CPI:VioGetAnsi|VioGetAnsi]]
* [[OS2 API:CPI:VioSavRedrawWait|VioSavRedrawWait]]
* [[OS2 API:CPI:VioSavRedrawUndo|VioSavRedrawUndo]]
* [[OS2 API:CPI:VioModeWait|VioModeWait]]
* [[OS2 API:CPI:VioModeUndo|VioModeUndo]]
* [[OS2 API:CPI:VioScrLock|VioScrLock]]
* [[OS2 API:CPI:VioScrUnLock|VioScrUnLock]]
* [[OS2 API:CPI:VioPopUp|VioPopUp]]
* [[OS2 API:CPI:VioEndPopUp|VioEndPopUp]]
* [[OS2 API:CPI:VioGetConfig|VioGetConfig]]
* [[OS2 API:CPI:VioGetCp|VioGetCp]]
* [[OS2 API:CPI:VioSetCp|VioSetCp]]
* [[OS2 API:CPI:VioGetOrigin|VioGetOrigin]]
* [[OS2 API:CPI:VioSetOrigin|VioSetOrigin]]
* [[OS2 API:CPI:VioGetState|VioGetState]]
* [[OS2 API:CPI:VioSetState|VioSetState]]


===== Advanced VIO =====
=== Exception Management ===
* [[OS2 API:CPI:VioAssociate|VioAssociate]]
*[[DosQueryModFromEIP]]
* [[OS2 API:CPI:VioCreateLogFont|VioCreateLogFont]]
*[[Dos16QueryModFromCS]]
* [[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]]


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


</div>
==== File Manipulation ====
*[[DosCancelLockRequest]]
*[[DosProtectClose]]
*[[DosForceDelete]]
*[[DosProtectOpen]]
*[[DosReplaceModule]]
*[[DosProtectRead]]
*[[DosProtectSetFileInfo]]
*[[DosProtectSetFileLocks]]
*[[DosProtectSetFilePtr]]
*[[DosProtectSetFileSize]]
*[[DosProtectWrite]]


== Legacy Functions ==
==== File Handle Manipulation ====
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.
*[[DosProtectQueryFHState]]
*[[DosResetBuffer]]
*[[DosProtectSetFHState]]
*[[DosSetRelMaxFH]]


<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
==== File Querying ====
*[[DosProtectEnumAttribute]]
*[[DosQueryFileMode]]
*[[DosProtectQueryFileInfo]]
*[[DosQuerySysState]]
*[[DosPerfSysCall]]
*[[DosGetProcessorStatus]]
*[[DosSetProcessorStatus]]
*[[DosQueryABIOSSupport]]


=== Date / Time ===
==== File System Functions ====
* [[OS2 API:CPI:LEGACY:DosGetDateTime|DosGetDateTime]]
*[[DosFSAttach]]
* [[OS2 API:CPI:LEGACY:DosSetDateTime|DosSetDateTime]]
*[[DosFSCtl]]
*[[DosQueryFSAttach]]
*[[DosQueryFSInfo]]
*[[DosResetBuffer]]
*[[DosSetFSInfo]]
*[[DosShutdown]]


=== Device I/O ===
=== Resource Management ===
* [[OS2 API:CPI:LEGACY:DosBeep|DosBeep]]
*[[DosFreeResource]]
* [[OS2 API:CPI:LEGACY:DosDevConfig|DosDevConfig]]
*[[DosGetResource]]
* [[OS2 API:CPI:LEGACY:DosDevIOCtl|DosDevIOCtl]]
*[[DosQueryResourceSize]]
* [[OS2 API:CPI:LEGACY:DosDevIOCtl2|DosDevIOCtl2]]
* [[OS2 API:CPI:LEGACY:DosPhysicalDisk|DosPhysicalDisk]]


==== Monitor functions ====
==== Threads ====
* [[OS2 API:CPI:LEGACY:DosMonClose|DosMonClose]]
*[[DosCreateThread2]]
* [[OS2 API:CPI:LEGACY:DosMonOpen|DosMonOpen]]
*[[DosQueryThreadAffinity]]
* [[OS2 API:CPI:LEGACY:DosMonRead|DosMonRead]]
*[[DosQueryThreadContext]]
* [[OS2 API:CPI:LEGACY:DosMonReg|DosMonReg]]
*[[DosSetThreadAffinity]]
* [[OS2 API:CPI:LEGACY:DosMonWrite|DosMonWrite]]
*[[DosVerifyPidTid]]


=== Dynamic Link Library ===
=== VDD ===
* [[OS2 API:CPI:LEGACY:DosFreeModule|DosFreeModule]]
*[[DosCloseVDD]]
* [[OS2 API:CPI:LEGACY:DosLoadModule|DosLoadModule]]
*[[DosOpenVDD]]
*[[DosRequestVDD]]


=== Error Management ===
==Kbd, Mou, Vio==
* [[OS2 API:CPI:LEGACY:DosErrClass|DosErrClass]]
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* [[OS2 API:CPI:LEGACY:DosError|DosError]]
===Keyboard functions===
*[[KbdCharIn]]
*[[KbdGetConsole]]
*[[KbdPeek]]
*[[KbdStringIn]]
*[[KbdFlushBuffer]]
*[[KbdSetStatus]]
*[[KbdGetStatus]]
*[[KbdSetCp]]
*[[KbdGetCp]]
*[[KbdGetLayout]]
*[[KbdGetLayoutUni]]
*[[KbdSetLayout]]
*[[KbdSetLayoutUni]]
*[[KbdGetHWID]]
*[[KbdXlate]]


=== File Systems/File Management ===
===Mouse functions===
*[[MouFlushQue]]
*[[MouGetPtrPos]]
*[[MouSetPtrPos]]
*[[MouSetPtrShape]]
*[[MouGetPtrShape]]
*[[MouGetDevStatus]]
*[[MouGetNumButtons]]
*[[MouGetNumMickeys]]
*[[MouReadEventQue]]
*[[MouGetNumQueEl]]
*[[MouGetEventMask]]
*[[MouSetEventMask]]
*[[MouGetScaleFact]]
*[[MouSetScaleFact]]
*[[MouRemovePtr]]
*[[MouDrawPtr]]
*[[MouSetDevStatus]]
*[[MouGetThreshold]]
*[[MouSetThreshold]]


==== Directory Searching ====
===Video I/O functions===
* [[OS2 API:CPI:LEGACY:DosFindFirst|DosFindFirst]]
*[[VioGetBuf]]
* [[OS2 API:CPI:LEGACY:DosFindFirst2|DosFindFirst2]]
*[[VioGetCurPos]]
* [[OS2 API:CPI:LEGACY:DosFindNext|DosFindNext]]
*[[VioSetCurPos]]
*[[VioGetCurType]]
*[[VioSetCurType]]
*[[VioGetMode]]
*[[VioSetMode]]
*[[VioReadCellStr]]
*[[VioReadCharStr]]
*[[VioWrtCellStr]]
*[[VioWrtCharStr]]
*[[VioScrollUp]]
*[[VioScrollDown]]
*[[VioScrollLeft]]
*[[VioScrollRight]]
*[[VioWrtNAttr]]
*[[VioWrtNCell]]
*[[VioWrtNChar]]
*[[VioWrtTTY]]
*[[VioWrtCharStrAtt]]
*[[VioShowBuf]]
*[[VioSetAnsi]]
*[[VioGetAnsi]]
*[[VioSavRedrawWait]]
*[[VioSavRedrawUndo]]
*[[VioModeWait]]
*[[VioModeUndo]]
*[[VioScrLock]]
*[[VioScrUnLock]]
*[[VioPopUp]]
*[[VioEndPopUp]]
*[[VioGetConfig]]
*[[VioGetCp]]
*[[VioSetCp]]
*[[VioGetOrigin]]
*[[VioSetOrigin]]
*[[VioGetState]]
*[[VioSetState]]
</div>


====Directory====
===Advanced VIO===
* [[OS2 API:CPI:LEGACY:DosChDir|DosChDir]]
*[[VioAssociate]]
*[[VioCreateLogFont]]
*[[VioCreatePS]]
*[[VioDeleteSetId]]
*[[VioDestroyPS]]
*[[VioGetDeviceCellSize]]
*[[VioQueryFonts]]
*[[VioQuerySetIds]]
*[[VioSetDeviceCellSize]]
*[[VioShowPS]]


==== Enviroment/Path ====
== OS/2 1.x Functions ==
* [[OS2 API:CPI:LEGACY:DosScanEnv|DosScanEnv]]
Function calls for OS/2 1.x that offer compatibility with DOS via [[Family API]] or Windows NT OS/2 subsystem.
* [[OS2 API:CPI:LEGACY:DosSearchPath|DosSearchPath]]


==== File Manipulation====
===Dos===
* [[OS2 API:CPI:LEGACY:DosChgFilePtr|DosChgFilePtr]]
====Date/Time====
* [[OS2 API:CPI:LEGACY:DosClose|DosClose]]
*[[DosGetDateTime (OS/2 1.x)|DosGetDateTime]]
* [[OS2 API:CPI:LEGACY:DosCopy|DosCopy]]
*[[DosSetDateTime (OS/2 1.x)|DosSetDateTime]]
* [[OS2 API:CPI:LEGACY:DosDelete|DosDelete]]
* [[OS2 API:CPI:LEGACY:DosEditName|DosEditName]]
* [[OS2 API:CPI:LEGACY:DosMove|DosMove]]
* [[OS2 API:CPI:LEGACY:DosOpen|DosOpen]]
* [[OS2 API:CPI:LEGACY:DosOpen2|DosOpen2]]
* [[OS2 API:CPI:LEGACY:DosRead|DosRead]]
* [[OS2 API:CPI:LEGACY:DosSetFileInfo|DosSetFileInfo]]
* [[OS2 API:CPI:LEGACY:DosSetPathInfo|DosSetPathInfo]]
* [[OS2 API:CPI:LEGACY:DosSetVerify|DosSetVerify]]
* [[OS2 API:CPI:LEGACY:DosWrite|DosWrite]]


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


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


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


==== File System Functions====
====Error Management====
* [[OS2 API:CPI:LEGACY:DosFSAttach|DosFSAttach]]
*[[DosErrClass (FAPI)|DosErrClass]]
* [[OS2 API:CPI:LEGACY:DosFSCtl|DosFSCtl]]
*[[DosError (FAPI)|DosError]]
* [[OS2 API:CPI:LEGACY:DosSetFSInfo|DosSetFSInfo]]
*[[DosPTrace]]
* [[OS2 API:CPI:LEGACY:DosShutdown|DosShutdown]]
OS/2 2.0 and 1.3 only:
*[[DosLogRegister]]
*[[DosLogEntry]]
*[[DosLogRead]]


=== Memory Management ===
====Exception Management====
* [[OS2 API:CPI:LEGACY:DosSubAlloc|DosSubAlloc]]
*[[DosHoldSignal]]
* [[OS2 API:CPI:LEGACY:DosAllocSeg|DosAllocSeg]]
*[[DosSendSignal]]
* [[OS2 API:CPI:LEGACY:DosAllocShrSeg|DosAllocShrSeg]]
*[[DosSetSigHandler]]


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


=== Message Management ===
Directory Handling:
* [[OS2 API:CPI:LEGACY:DosGetMessage|DosGetMessage]]
*[[DosChDir]]
* [[OS2 API:CPI:LEGACY:DosPutMessage|DosPutMessage]]
*[[DosMkDir]]
* [[OS2 API:CPI:LEGACY:DosTrueGetMessage|DosTrueGetMessage]] * Can not be found on CP1 or PRCP
*[[DosMkDir2]]
* [[OS2 API:CPI:LEGACY:DosIQueryMessageCp|DosIQueryMessageCp]] * Can not be found on CP1 or PRCP
*[[DosRmDir]]
*[[DosQCurDir]]


=== National Language/Code Page ===
====Disk====
* [[OS2 API:CPI:LEGACY:DosCaseMap|DosCaseMap]]
*[[DosQCurDisk]]
* [[OS2 API:CPI:LEGACY:DosGetCollate|DosGetCollate]]
*[[DosSelectDisk]]
* [[OS2 API:CPI:LEGACY:DosGetCp|DosGetCp]]
* [[OS2 API:CPI:LEGACY:DosGetCtryInfo|DosGetCtryInfo]]
* [[OS2 API:CPI:LEGACY:DosGetDBCSEv|DosGetDBCSEv]]


=== Pipes ===
====Environment/Path====
*[[DosScanEnv (OS/2 1.x)|DosScanEnv]]
*[[DosSearchPath (OS/2 1.x)|DosSearchPath]]


====Named Pipes====
====File Manipulation====
* DosCallNmPipe
*[[DosChgFilePtr]]
* DosConnectNmPipe
*[[DosClose (FAPI)|DosClose]]
* DosDisConnectNmPipe
*[[DosCopy (OS/2 1.x)|DosCopy]]
* DosMakeNmPipe
*[[DosDelete (FAPI)|DosDelete]]
* DosMakePipe
*[[DosEditName (FAPI)|DosEditName]]
* DosPeekNmPipe
*[[DosFileLocks]]
* DosQNmPipeInfo
*[[DosMove (FAPI)|DosMove]]
* DosQNmPipeSemState
*[[DosOpen (FAPI)|DosOpen]]
* DosSetNmPipeSem
*[[DosOpen2]]
* DosTransactNmPipe
*[[DosRead (FAPI)|DosRead]]
* DosWaitNmPipe
*[[DosReadAsync]]
*[[DosSetFileInfo (FAPI)|DosSetFileInfo]]
*[[DosSetPathInfo (OS/2 1.x)|DosSetPathInfo]]
*[[DosSetVerify (FAPI)|DosSetVerify]]
*[[DosWrite (FAPI)|DosWrite]]
*[[DosWriteAsync]]
*[[DosNewSize]]
*[[DosSetFileMode]]


=== Queues===
====File Handle Manipulation====
* [[OS2 API:CPI:LEGACY:DosCloseQueue|DosCloseQueue]]
*[[DosSetMaxFH (OS/2 1.x)|DosSetMaxFH]]
* [[OS2 API:CPI:LEGACY:DosQueryQueue|DosQueryQueue]]
*[[DosBufReset]]
* [[OS2 API:CPI:LEGACY:DosWriteQueue|DosWriteQueue]]
*[[DosQFHandState]]
*[[DosQHandType]]
*[[DosSetFHandState]]


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


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


=== Resource Management ===
====Memory Management====
* [[OS2 API:CPI:LEGACY:DosFreeResource|DosFreeResource]]
*[[DosAllocSeg]]
* [[OS2 API:CPI:LEGACY:DosGetResource|DosGetResource]]
*[[DosAllocShrSeg]]
* [[OS2 API:CPI:LEGACY:DosGetResource2|DosGetResource2]]
*[[DosFreeSeg]]
*[[DosGetSeg]]
*[[DosGetShrSeg]]
*[[DosGiveSeg]]
*[[DosLockSeg]]
*[[DosMemAvail]]
*[[DosSizeSeg]]
*[[DosUnlockSeg]]
*[[DosReallocSeg]]


=== Semaphores ===
;Huge block
*[[DosAllocHuge]]
*[[DosReallocHuge]]


==== MuxWait Semaphores ====
;Heap
*[[DosSubAlloc]]
*[[DosSubFree]]
*[[DosSubSet]]


=== Processes/Threading ===
====Message Management====
* [[OS2 API:CPI:LEGACY:DosExit|DosExit]]
*[[DosGetMessage (OS/2 1.x)|DosGetMessage]]
*[[DosPutMessage (FAPI)|DosPutMessage]]
*[[DosInsMessage]]
*[[DosTrueGetMessage]]
*[[DosIQueryMessageCP]]
*[[DosCloseMessageFile]]


==== Processes ====
====National Language/Code Page====
* [[OS2 API:CPI:LEGACY:DosEnterCritSec|DosEnterCritSec]]
*[[DosCaseMap (FAPI)|DosCaseMap]]
* [[OS2 API:CPI:LEGACY:DosExecPgm|DosExecPgm]]
*[[DosGetCollate]]
* [[OS2 API:CPI:LEGACY:DosExitCritSec|DosExitCritSec]]
*[[DosGetCp]]
* [[OS2 API:CPI:LEGACY:DosExitList|DosExitList]]
*[[DosGetCtryInfo]]
* [[OS2 API:CPI:LEGACY:DosKillProcess|DosKillProcess]]
*[[DosGetDBCSEv]]
* [[OS2 API:CPI:LEGACY:DosCwait|DosCwait]]
*[[DosSetCp]]
*[[DosSetProcCp]]


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


=== Session Management===
====Resource Management====
* [[OS2 API:CPI:LEGACY:DosSelectSession|DosSelectSession]]
*[[DosFreeResource (OS/2 1.x)|DosFreeResource]]
* [[OS2 API:CPI:LEGACY:DosSetSession|DosSetSession]]
*[[DosGetResource (OS/2 1.x)|DosGetResource]]
* [[OS2 API:CPI:LEGACY:DosStartSession|DosStartSession]]
*[[DosGetResource2]]
* [[OS2 API:CPI:LEGACY:DosStopSession|DosStopSession]]


=== Timer ===
====Semaphores====
* [[OS2 API:CPI:LEGACY:DosTimerAsync|DosTimerAsync]]
*[[DosCloseSem]]
* [[OS2 API:CPI:LEGACY:DosTimerStart|DosTimerStart]]
*[[DosCreateSem]]
* [[OS2 API:CPI:LEGACY:DosTimerStop|DosTimerStop]]
*[[DosFSRamSemClear]]
*[[DosFSRamSemRequest]]
*[[DosOpenSem]]
*[[DosSemClear]]
*[[DosSemRequest]]
*[[DosSemSet]]
*[[DosSemSetWait]]
*[[DosSemWait]]
*[[DosPMSemWait]]


=== Addressing ===
====MuxWait Semaphores====
* [[OS2 API:CPI:LEGACY:DosFlatToSel|DosFlatToSel]] * Can not be found on CP1 or PRCP
*[[DosMuxSemWait]]
* [[OS2 API:CPI:LEGACY:DosSelToFlat|DosSelToFlat]] * Can not be found on CP1 or PRCP
*[[DosPMMuxSemWait]]


===To SORT===
====Processes/Threading====
* DosAllocHuge
*[[DosCallback]]
* DosCallback
*[[DosExit (FAPI)|DosExit]]
*[[DosGetPrty]]
*[[DosSetPrty]]


* DosCLIAccess
====Processes====
* DosCloseSem
*[[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]]


* DosCreateCSAlias
====Session Management====
* DosCreateSem
*[[DosSelectSession (OS/2 1.x)|DosSelectSession]]
*[[DosSetSession (OS/2 1.x)|DosSetSession]]
*[[DosStartSession (OS/2 1.x)|DosStartSession]]
*[[DosStopSession (OS/2 1.x)|DosStopSession]]


* DosFileIO
;Session Manager
* DosFileLocks
*[[DosSMDoAppReq]]
* DosFindClose
*[[DosSMGetAppReq]]
* DosFlagProcess
*[[DosSMGetStatus]]
* DosFreeSeg
*[[DosSMHDEInit]]
* DosFSRamSemClear
*[[DosSMInitialize]]
* DosFSRamSemRequest
*[[DosSMNotifyDD]]
* DosGetEnv
*[[DosSMNotifyDD2]]
* DosGetHugeShift
*[[DosSMOpenDD]]
* DosGetInfoSeg
*[[DosSMParentSwitch]]
* DosGetMachineMode
*[[DosSMPause]]
* DosGetModHandle
*[[DosSMPMPresent]]
* DosGetModName
*DosSMRealPrtSc
* DosGetPID
*[[DosSMRegisterDD]]
* DosGetPPID
*[[DosSMServeAppReq]]
* DosGetProcAddr
*[[DosSMSetSessionType]]
* DosGetPrty
*[[DosSMSetTitle]]
* DosGetSeg
*[[DosSMStart]]
* DosGetShrSeg
*[[DosSMSwitch]]
*[[DosSMSysInit]]
*[[DosSMTerminate]]


;Screen Group
*[[DosSMSGDoPopup]]
*[[DosSMSGEndPopup]]


* DosGetVersion
*[[DosGetTimes]]
* DosGiveSeg
*[[DosScrUnlock]]
* DosHoldSignal
*[[DosScrLock]]
* DosInsMessage
*[[DosSavRedrawWait]]
* DosLockSeg
*[[DosSavRedrawUndo]]
*[[DosSetMNLockTime]]
*[[DosModeUndo]]
*[[DosModeWait]]
*[[DosRegisterNotification]]


* DosMemAvail
====Timer====
* DosMkDir
*[[DosTimerAsync]]
* DosMkDir2
*[[DosTimerStart]]
* DosMuxSemWait
*[[DosTimerStop]]
* DosNewSize


* DosOpenSem
====Addressing====
*[[DosFlatToSel]]
*[[DosSelToFlat]]


* DosPFSActivate
====Spool====
* DosPFSCloseUser
''Not found on OS2TK45''
* DosPFSInit
*[[DosPFSActivate]]
* DosPFSQueryAct
*[[DosPFSCloseUser]]
* DosPFSVerifyFont
*[[DosPFSInit]]
* DosPortAccess
*[[DosPFSQueryAct]]
* DosPtrace
*[[DosPFSVerifyFont]]


* DosQAppType
====I/O Privileges====
* DosQCurDir
*[[DosCLIAccess]]
* DosQCurDisk
*[[DosPortAccess]]
* DosQFHandState
* DosQFileInfo
* DosQFileMode
* DosQFSAttach
* DosQFSInfo
* DosQHandType
* DosQNmPHandState


* DosQPathInfo
====Segments====
* DosQSysInfo
*[[DosCreateCSAlias]]
* DosQVerify


* DosR2StackRealloc
*[[DosFileIO]]
* DosReadAsync
* DosReallocHuge
* DosReallocSeg


* DosRmDir
*[[DosGetEnv]]
* DosSelectDisk
*[[DosGetHugeShift]]
*[[DosGetMachineMode]]


* DosSemClear
*[[DosGetProcAddr]]
* DosSemRequest
* DosSemSet
* DosSemSetWait
* DosSemWait
* DosSendSignal
* DosSetCp
* DosSetFHandState
* DosSetFileMode
* DosSetNmPHandState


* DosSetProcCp
*[[DosGetVersion]]
* DosSetPrty
* DosSetSigHandler
* DosSetVec
* DosSizeSeg
* DosSMRegisterDD
* DosSubFree
* DosSubSet
* DosUnlockSeg
* DosWriteAsync


==== Keyboard functions ====
*[[DosR2StackRealloc]]
* [[OS2 API:CPI:LEGACY:KbdCharIn|KbdCharIn]]
* [[OS2 API:CPI:LEGACY:KbdFlushBuffer|KbdFlushBuffer]]
* [[OS2 API:CPI:LEGACY:KbdGetCp|KbdGetCp]]
* [[OS2 API:CPI:LEGACY:KbdSetCp|KbdSetCp]]
* [[OS2 API:CPI:LEGACY:KbdPeek|KbdPeek]]
* [[OS2 API:CPI:LEGACY:KbdRegister|KbdRegister]]
* [[OS2 API:CPI:LEGACY:KbdDeRegister|KbdDeRegister]]
* [[OS2 API:CPI:LEGACY:KbdOpen|KbdOpen]]
* [[OS2 API:CPI:LEGACY:KbdClose|KbdClose]]
* [[OS2 API:CPI:LEGACY:KbdGetFocus|KbdGetFocus]]
* [[OS2 API:CPI:LEGACY:KbdFreeFocus|KbdFreeFocus]]
* [[OS2 API:CPI:LEGACY:KbdSynch|KbdSynch]]
* [[OS2 API:CPI:LEGACY:KbdSetFgnd|KbdSetFgnd]]
* [[OS2 API:CPI:LEGACY:KbdGetHWId|KbdGetHWId]]
* [[OS2 API:CPI:LEGACY:KbdSetHWID|KbdSetHWID]]* Can not be found on CP1 or PRCP
* [[OS2 API:CPI:LEGACY:KbdSetCustXt|KbdSetCustXt]]
* [[OS2 API:CPI:LEGACY:KbdGetStatus|KbdGetStatus]]
* [[OS2 API:CPI:LEGACY:KbdSetStatus|KbdSetStatus]]
* [[OS2 API:CPI:LEGACY:KbdStringIn|KbdStringIn]]
* [[OS2 API:CPI:LEGACY:KbdXlate|KbdXlate]]


==== Mouse functions ====
*[[DosSetVec]]
* [[OS2 API:CPI:LEGACY:MouRegister|MouRegister]]
*[[DosSysCtl]]
* [[OS2 API:CPI:LEGACY:MouDeRegister|MouDeRegister]]
*[[DosQueryRASInfo]]
* [[OS2 API:CPI:LEGACY:MouOpen|MouOpen]]
* [[OS2 API:CPI:LEGACY:MouClose|MouClose]]
* [[OS2 API:CPI:LEGACY:MouInitReal|MouInitReal]]
* [[OS2 API:CPI:LEGACY:MouSynch|MouSynch]]
* [[OS2 API:CPI:LEGACY:MouDrawPtr|MouDrawPtr]]
* [[OS2 API:CPI:LEGACY:MouFlushQue|MouFlushQue]]
* [[OS2 API:CPI:LEGACY:MouGetDevStatus|MouGetDevStatus]]
* [[OS2 API:CPI:LEGACY:MouGetEventMask|MouGetEventMask]]
* [[OS2 API:CPI:LEGACY:MouGetNumButtons|MouGetNumButtons]]
* [[OS2 API:CPI:LEGACY:MouGetNumMickeys|MouGetNumMickeys]]
* [[OS2 API:CPI:LEGACY:MouGetNumQueEl|MouGetNumQueEl]]
* [[OS2 API:CPI:LEGACY:MouGetPtrPos|MouGetPtrPos]]
* [[OS2 API:CPI:LEGACY:MouGetPtrShape|MouGetPtrShape]]
* [[OS2 API:CPI:LEGACY:MouGetScaleFact|MouGetScaleFact]]
* [[OS2 API:CPI:LEGACY:MouReadEventQue|MouReadEventQue]]
* [[OS2 API:CPI:LEGACY:MouRemovePtr|MouRemovePtr]]
* [[OS2 API:CPI:LEGACY:MouSetDevStatus|MouSetDevStatus]]
* [[OS2 API:CPI:LEGACY:MouSetEventMask|MouSetEventMask]]
* [[OS2 API:CPI:LEGACY:MouSetPtrPos|MouSetPtrPos]]
* [[OS2 API:CPI:LEGACY:MouSetPtrShape|MouSetPtrShape]]
* [[OS2 API:CPI:LEGACY:MouSetScaleFact|MouSetScaleFact]]


==== Video I/O functions ====
====QuickHelp====
* [[OS2 API:CPI:LEGACY:VioRegister|VioRegister]]  
*[[QhKeybdHandle]]
* [[OS2 API:CPI:LEGACY:VioGlobalReg|VioGlobalReg]]
*[[QhMouseHandle]]
* [[OS2 API:CPI:LEGACY:VioDeRegister|VioDeRegister]]
* [[OS2 API:CPI:LEGACY:VioGetPhysBuf|VioGetPhysBuf]]
* [[OS2 API:CPI:LEGACY:VioScrollDn|VioScrollDn]]
* [[OS2 API:CPI:LEGACY:VioScrollLf|VioScrollLf]]
* [[OS2 API:CPI:LEGACY:VioScrollRt|VioScrollRt]]
* [[OS2 API:CPI:LEGACY:VioCheckCharType|VioCheckCharType]] * Not found on CP1 or PRCP
* [[OS2 API:CPI:LEGACY:VioPrtSc|VioPrtSc]]
* [[OS2 API:CPI:LEGACY:VioPrtScToggle|VioPrtScToggle]]
* [[OS2 API:CPI:LEGACY:VioRedrawSize|VioRedrawSize]] * Not found on CPI or PRCP
* [[OS2 API:CPI:LEGACY:VioGetFont|VioGetFont]]
* [[OS2 API:CPI:LEGACY:VioSetFont|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


===== Advanced VIO =====
===Keyboard functions===
* [[OS2 API:CPI:LEGACY:VioGetOrg|VioGetOrg]] * Can not be found on CP1 or PRCP
*[[KbdCharIn]] - character data record from keyboard
* [[OS2 API:CPI:LEGACY:VioSetOrg|VioSetOrg]] * Can not be found on CP1 or PRCP
*[[KbdClose]] - closes logical keyboard
* [[OS2 API:CPI:LEGACY:WinDefAVioWindowProc|WinDefAVioWindowProc]] * Can not be found on CP1 or PRCP
*[[KbdDeRegister]] - deregister keyboard subsystem
*[[KbdFlushBuffer]] -
*[[KbdFreeFocus]]
*[[KbdGetCp]]
*[[KbdGetFocus]] -
*[[KbdGetHWId]]
*[[KbdGetStatus]] -
*[[KbdInit]] -
*[[KbdOpen]] -
*[[KbdPeek]] -
*[[KbdRegister]]
*[[KbdSetCp]]
*[[KbdSetCustXt]]
*[[KbdSetFgnd]]
*[[KbdSetHWID]]
*[[KbdSetStatus]]
*[[KbdSynch]] -
*[[KbdStringIn]]
*[[KbdXlate]]


===Mouse functions===
*[[MouRegister]]
*[[MouDeRegister]]
*[[MouOpen]]
*[[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]]


</div>
===Video I/O functions===
*[[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]]


== External References ==
==References==
* [http://cyberkinetica.homeunix.net/os2tk45/cp1/ CP1.INF - Control Program Programming Guide and Reference, Part 1 of 3 - IBM Tookit 4.5 ]
* IBM OS/2 Programming Reference
* [http://cyberkinetica.homeunix.net/os2tk45/cp2/ CP2.INF - Control Program Programming Guide and Reference, Part 2 of 3 - IBM Tookit 4.5 ]
* IBM OS/2 Warp [[Control Program Programming Guide and Reference]] (1996)
* [http://cyberkinetica.homeunix.net/os2tk45/cp3/ CP3.INF - Control Program Programming Guide and Reference, Part 3 of 3  - IBM Tookit 4.5 ]
* IBM API Addendum Volume 1 (PowerPC Edition)
* [http://cyberkinetica.homeunix.net/os2tk45/apibas/ API Addendum Volume 1 (PowerPC Edition) - IBM Tookit 4.5 ]
* [http://cyberkinetica.homeunix.net/os2tk45/prcp/ Legacy OS/2 Programming Reference - IBM Tookit 4.5]


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