API Function Calls: Difference between revisions

From OS2World.Com Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
By [[Bill Earle]]
''By [[Bill Earle]]''


The following information describes the OS/2 Application Program Interface (API) calls. I have included information under the API column as follows:
The following information describes the OS/2 Application Program Interface (API) calls. I have included information under the API column as follows:
Line 36: Line 36:
|-
|-
|F|| || ||DosCreateCSAlias||Create an executable alias descriptor (second name) for the data type descriptor received
|F|| || ||DosCreateCSAlias||Create an executable alias descriptor (second name) for the data type descriptor received
|-
| || || ||DosCreateQueue||Create and open the queue specified for use by the calling process
|-
| || || ||DosCreatSem||Create a semaphore for use by the calling process
|-
| || || ||DosCreateThread||Create an asynchronous execution thread for the calling process. Threads are the OS/2 CPU scheduling entities.
|-
|R||21H||4DH||DosCWait||Wait for a child process termination and get return code
|-
|F||21H||41H||DosDelete||Delete the file specified by the ASCIIZ name.
|-
|F|| || ||DosDevConfig||Return device information about attached devices
|-
|F||21H||44H||DosDevIOCtl||Communicate with an opened device handle
|-
|F||21H||45H,46H||DosDupHandle||Return a duplicate DOS handle for the file handle provided
|-
| || || ||DosEnterCritSec||Mark the entrance of a critical section of code and prevent the execution of other threads of code in the same process for concurrent processing synchronization
|-
|R|| || ||DosError||Allow the calling process to receive OS/2 hard-error notification as Opposed to the OS/2 generation of a hard-error signal
|-
|R||21H||59H||DosErrorClass||Get extended error information.
|-
|R||21H||4BH||DosExecPgm||Spawn a secondary program as a child process
|-
|R||21H||00H,4CH||DosExit||Complete the current thread of information
|-
| || || ||DosExitCritSec||Mark the end of a critical section of code and enable other threads within the current process to execute again in a concurrent fashion
|-
| || || ||DosExitList||Maintain the list (add,delete,modify) of routines that the current process is to execute upon completion
|-
|R||21H||5CH||DosFileLock||Lock or unlock a range of bytes within a file in support of file-sharing operations
|-
|R|| || ||DosFindClose||Close the handle associated with the file returned by a DosFindNext API service
|-
|R||21H||4EH||DosFindFirst||Find the first file in a group of files matching the file specification provided
|-
|R||21H||4FH||DosFindNext||Find the next file in a group of files matching the file specification provided in the call to DosFindFirst
|-
| || || ||DosFlagProcess||Set an external event flag that other processes can access for synchronization of concurrent processes
|-
| || || ||DosFreeModule||Release the link to the dynamic link module specified by the module handle.
This service decrements the usage for the specified module
|-
|F||21H||49H||DosFreeSeg||Release a previously allocated memory segment
|-
|F|| || ||DosGetCollate||Get the current collating sequence based upon the current code-page
|-
| ||21H||66H||DosGetCP||Return the code-page in use by the current application
|-
|R||21H||38H||DosGetCtryInfo||Return country dependent formatting information
|-
|F||21H||2AH,2CH||DosGetDateTime||Return the current date and time
|-
| ||21H||65H||DosGetDBCSEnv||Return the DBCS vector for the specified country code
|-
|F|| || ||DosGetEnv||Return the segment and offset address of the current process command environment
|-
|F|| || ||DosGetHugeShift||Return the shift count used by DosAllocHuge to allocate memory larger than one segment
|-
| || || ||DosGetInfoSeg||Return the address of the OS/2 system variables
|-
|F|| || ||DosGetMachineMode||Return the current processor mode (real or Protected)
|-
|F|| || ||DosGetMessage||Obtain the text from the system message file for the specified message and place it into a user-defined buffer
|-
| || || ||DosGetModHandle||Return a handle to a dynamic link module
|-
| || || ||DosGetModName||Get the complete DOS path name for the dynamic link module associated with the file handle provided
|-
| || || ||DosGetProcAddr||Return the far address to the procedure specified within a dynamic link library
|-
| || || ||DosGetPrty||Return the priority of the current process
|-
| || || ||DosGetResource||Return the segment selector for the handle to the specified resource
|-
| || || ||DosGetSeg||Obtain access to the memory segment specified by the selector provided
|-
| || || ||DosGetShrSeg||Obtain access to the shared memory segment specified by the name provided. The usage count of the segment is incremented
|-
|F||21H||30H||DosGetVersion||Return the DOS version number
|-
| || || ||DosGiveSeg||Allow the process specified by the process identification provided to access a shared memory segment
|-
|R|| || ||DosHoldSignal||Enable/disable signal processing for the current process
|-
|F|| || ||DosInsMessage||Place a text string into the body of a message
|-
| || || ||DosKillProcess||Terminate a process and return a termination code to the parent process or OS/2
|-
| || || ||DosLoadModule||Load the dynamic link module specified and return a handle.
|-
| || || ||DosLockSeg||Lock a segment of memory marked as discardable
|-
| || || ||DosMakePipe||Create a communications pipe for the calling process
|-
| || || ||DosMemAvail||Return the size of the largest block of memory available
|-
|F||21H||39H||DosMkDir||Create the specified directory
|-
| || || ||DosMonClose||Close the handle to a serial device that the process has been monitoring
|-
| || || ||DosMonOpen||Open a handle to a serial device for device I/O monitoring
|-
| || || ||DosMonRead||Wait for and return the input records to a serial device open for I/O monitoring
|-
| || || ||DosMonReg||Create input and output buffer structures for device I/O monitoring
|-
| || || ||DosMonWrite||Write a data record to the output monitor buffer of a device open for I/O monitoring
|-
|F||21H||56H||DosMove||Move a file from one location to another
|-
| || || ||DosMuxSemWait||Suspense the execution of the current thread until one or more semaphores have been cleared
|-
|F|| || ||DosNewSize||Change the size of the file associated with the specified file handle
|-
|R||21H||3CH,3DH||DosOpen||Open an existing file (if present) or create a file with the name specified by the ASCIIZ string provided
|-
| || || ||DosOpenQueue||Open the queue specified by the ASCIIZ string provided for use by the current process
|-
| || || ||DosOpenSem||Open the semaphore specified by the ASCIIZ string provided for use by the current process
|-
| || || ||DosPeekQueue||Examine, but do not remove, an element from the specified queue
|-
| || || ||DosPFSActivate||Activate the code-page and font specified for the printer. This activation only affects the calling process.
|-
| || || ||DosPFSCloseUser||Notify the font-switching software that the process has closed its spool file. The font-switching software can release any related resources
|-
| || || ||DosPFSInit||Direct the font-switching software to initialize code-page switching and font-switching for the specified printer
|-
| || || ||DosPFSQueryAct||Return the current code-page and font for the specified printer
|-
| || || ||DosPFSVerifyFont||Ensure that the code-page and font desired are supported by the specified printer
|-
| || || ||DosPhysicalDisk||Return partitioned disk information
|-
|F|| || ||DosPortAccess||Request or release access to a hardware port or ports
|-
| || || ||DosPtrace||Set a Ptrace buffer that is used in debugging
|-
| || || ||DosPurgeQueue||Delete all of the elements contained in the queue associated with the handle provided
|-
| || || ||DosPutMessage||Output the message provided to the file or device associated with a given file handle
|-
|F||21H||47H||DosQCurDir||Return the current directory
|-
|F||21H||19H||DosQCurDisk||Return the current disk drive
|-
|R|| || ||DosQFHandState||Query the state of the file associated with the handle provided
|-
|F||21H||57H||DosQFileInfo||Return date and time specifics about the file associated with the file handle provided
|-
|F||21H||43H||DosQFileMode||Return the attribute byte for a specific file
|-
|F||21H||36H||DosQFSInfo||Return information about the disk in the specified drive
|-
| || || ||DosQHandType||Determine if the handle specified references a device or file
|-
| || || ||DosQueryQueue||Return the number of elements in the specified queue
|-
|F||21H||54H||DosQVerify||Determine whether the specified queue is active or inactive
|-
|F||21H||3FH||DosRead||Read the specified number of bytes from the file associated with the file handle
|-
| || || ||DosReadAsynch||Read the specified number of bytes from the file associated with the file handle. The I/O operation occurs concurrently with the continued execution of the process
|-
| || || || DosReadQueue||Read and remove an element from the specified queue
|-
|R|| || ||DosReallocHuge||Modify the size of a previously allocated huge (larger than 1 segment) section of memory
|-
|R||21H||4AH||DosReallocSeg||Modify the size of a previously allocated memory segment
|-
| || || ||DosResumeThread||Restart a previously suspended thread of execution for the current process
|-
|F||3AH|| ||DosRmDir||Remove the directory specified by the ASCIIZ string
|-
|F|| || ||DosScanEnv||Search a process environment segment for a specified variable and return its value if found
|-
| || || ||DosSearchPath||Define a search path for data files
|-
|F||21H||0EH||DosSelectDisk||Set the desired current drive
|-
| || || ||DosSelectSession||Select the desired foreground session
|-
| || || ||DosSemClear||Clear the specified semaphore
|-
| || || ||DosSemRequest||Obtain a new handle to a new semaphore
|-
| || || ||DosSemSet||Set the semaphore associated with the handle provided
|-
| || || ||DosSemSetWait||Set the semaphore associated with the handle provided and suspend execution of the current thread until the semaphore is cleared
|-
| || || ||DosSemWait||Suspend execution of the current thread until the semaphore associated with the handle provided is cleared
|-
| || || ||DosSendCtlC||Send a Ctrl-C signal to the lowest process in the tree of processes
|-
| ||21H||66H||DosSetCP||Set the code-page as specified for the calling process
|-
|F||21H||2BH,2DH||DosSetDateTime||Set the current system date and time
|-
|R|| || ||DosSetFHandState||Set the state of the file associated with the handle provided
|-
|F||21H||57H||DosSetFileInfo||Set the date information (last read, last write, creation, and so on) for the file associated with the handle provided
|-
|F||21H||43H||DosSetFileMode||Set the attribute byte for the file associated with the file handle provided
|-
|F|| || ||DosSetFsInfo||Sets information for a file system  specified device
|-
| ||21H||67H||DosSetMaxFH||Define the maximum number of file handles (up to 255) for the current process
|-
| || || ||DosSetPrty||Set the priority for the current thread
|-
| || || ||DosSetSession||Set the status of a child process
|-
|R|| || ||DosSetSigHandler||Define a signal-handling routine for a specific signal
|-
|F||21H||25H||DosSetVec||Define an exception-handling routine for specified exceptions
|-
|F||21H||2EH||DosSetVerify||Enable or disable disk verification for the current process
|-
| || || ||DosSleep||Suspend the current thread for a specified interval of time
|-
| || || ||DosStartSession||Invoke a second application as an OS/2 session
|-
| || || ||DosStopSession||Terminate a session previously invoked thru the DosStartSession
|-
|F|| || ||DosSubAlloc||Allocate memory from within a segment previously allocated by DosAllocSeg or    DosAllocShrSeg
|-
|F|| || ||DosSubFree||Free memory previously allocated by DosSubAlloc
|-
|F|| || ||DosSubSet||Initialize a segment for suballocation, or change the size of a previously suballocated segment
|-
| || || ||DosSuspendThread||Suspend the current thread of execution until a DosResumeThread service is invoked
|-
| || || ||DosSystemService||Request OS/2 to perform a unique function (such as system-wide event notification for the specific process)
|-
| || || ||DosTimerAsynch||Start a timer that runs asynchronously to the thread issuing the request. Upon completion of the time interval, this service sets the specified semaphore
|-
| || || ||DosTimerStart||Start a periodic interval timer that runs  asynchronously to the current thread. Each time the interval completes, the service  clears the specified semaphore
|-
| || || ||DosTimerStop||Stop a periodic interval timer previously started by DosTimerStart or DosTimerAsynch
|-
| || || ||DosUnlockSeg||Unlock a memory segment previously marked as discardable
|-
| || || ||DosWait||Suspend the current process until the child process specified by the provided process  identification terminates
|-
|F||21H||40H||DosWrite||Write the specified number of bytes to the file associated with the file handle      provided
|-
| || || ||DosWriteAsynch||Write the specified number of bytes to the file associated with the file handle that is provided concurrently with the threads remaining processing
|-
| || || ||DosWriteQueue||Place an element in a specified queue
|}
|}
                  DosCreateQueue  Create and open the queue specified
                                    for use by the calling process
                  DosCreatSem      Create a semaphore for use by the
                                    calling process
                  DosCreateThread  Create an asynchronous execution
                                    thread for the calling process.
                                    Threads are the OS/2 CPU scheduling
                                    entities.
R  21H  4DH      DosCWait        Wait for a child process termination
                                    and get return code
F  21H  41H      DosDelete        Delete the file specified by the ASCIIZ name.
F                DosDevConfig    Return device information about attached devices                         
F  21H  44H      DosDevIOCtl      Communicate with an opened device       
                                    handle                                   
F  21H  45H,46H  DosDupHandle    Return a duplicate DOS handle for the   
                                    file handle provided                     
                  DosEnterCritSec  Mark the entrance of a critical         
                                    section of code and prevent the         
                                    execution of other threads of code in   
                                    the same process for concurrent         
                                    processing synchronization               
R                DosError        Allow the calling process to receive     
                                    OS/2 hard-error notification as         
                                    Opposed to the OS/2 generation of a     
                                    hard-error signal                       
R  21H  59H      DosErrorClass    Get extended error information.         
R  21H  4BH      DosExecPgm      Spawn a secondary program as a child     
                                    process                                 
R  21H  00H,4CH  DosExit          Complete the current thread of           
                                    information                             
                  DosExitCritSec  Mark the end of a critical section of   
                                    code and enable other threads within     
                                    the current process to execute again     
                                    in a concurrent fashion                 
                  DosExitList      Maintain the list (add,delete,modify)   
                                    of routines that the current process     
                                    is to execute upon completion           
R  21H  5CH      DosFileLock      Lock or unlock a range of bytes within   
                                    a file in support of file-sharing       
                                    operations                               
R                DosFindClose    Close the handle associated with the     
                                    file returned by a DosFindNext API       
                                    service                                 
R  21H  4EH      DosFindFirst    Find the first file in a group of       
                                    files matching the file specification   
                                    provided                                 
R  21H  4FH      DosFindNext      Find the next file in a group of         
                                    files matching the file specification   
                                    provided in the call to DosFindFirst     
                  DosFlagProcess  Set an external event flag that other   
                                    processes can access for synchroniza-   
                                    tion of concurrent processes             
                  DosFreeModule    Release the link to the dynamic link     
                                    module specified by the module handle.   
                                    This service decrements the usage       
                                    for the specified module                 
F  21H  49H      DosFreeSeg      Release a previously allocated memory   
                                    segment                                 
F                DosGetCollate    Get the current collating sequence       
                                    based upon the current code-page         
    21H  66H      DosGetCP        Return the code-page in use by the       
                                    current application                     
R  21H  38H      DosGetCtryInfo  Return country dependent formatting     
                                    information                             
F  21H  2AH,2CH  DosGetDateTime  Return the current date and time         
    21H  65H      DosGetDBCSEnv    Return the DBCS vector for the           
                                    specified country code                   
F                DosGetEnv        Return the segment and offset address   
                                    of the current process command envir   
                                    onment                                   
F                DosGetHugeShift  Return the shift count used by           
                                    DosAllocHuge to allocate memory larger   
                                    than one segment                         
                  DosGetInfoSeg    Return the address of the OS/2 system   
                                    variables                               
F                DosGetMachineMode Return the current processor mode       
                                    (real or Protected)                     
F                DosGetMessage    Obtain the text from the system         
                                    message file for the specified message   
                                    and place it into a user-defined         
                                    buffer
                  DosGetModHandle  Return a handle to a dynamic link       
                                    module                                   
                  DosGetModName    Get the complete DOS path name for the   
                                    dynamic link module associated with the 
                                    file handle provided                     
                  DosGetProcAddr  Return the far address to the procedure 
                                    specified within a dynamic link library 
                  DosGetPrty      Return the priority of the current process
                  DosGetResource  Return the segment selector for the handle
                                    to the specified resource               
                  DosGetSeg        Obtain acces to the memory segment specified by the selector provided                 
                  DosGetShrSeg    Obtain access to the shared memory segment
                                    specified by the name provided. The usage
                                    count of the segment is incremented     
F  21H  30H      DosGetVersion    Return the DOS version number           
                  DosGiveSeg      Allow the process specified by the process
                                    identification provided to access a shared
                                    memory segment                           
R                DosHoldSignal    Enable/disable signal processing for the 
                                    current process                         
F                DosInsMessage    Place a text string into the body of a   
                                    message
                  DosKillProcess  Terminate a process and return a termination
                                    code to the parent process or OS/2       
                  DosLoadModule    Load the dynamic link module specified and
                                    return a handle.                         
                  DosLockSeg      Lock a segment of memory marked as discardable                                     
                  DosMakePipe      Create a communications pipe for the calling
                                    process
                  DosMemAvail      Return the size of the largest block of 
                                    memory available                         
F  21H  39H      DosMkDir        Create the specified directory           
                  DosMonClose      Close the handle to a serial device that the
                                    process has been monitoring             
                  DosMonOpen      Open a handle to a serial device for device I/O monitoring                           
                  DosMonRead      Wait for and return the input records to a
                                    serial device open for I/O monitoring   
                  DosMonReg        Create input and output buffer structures
                                    for device I/O monitoring               
                  DosMonWrite      Write a data record to the output monitor
                                    buffer of a device open for I/O monitoring
F  21H  56H      DosMove          Move a file from one location to another 
                  DosMuxSemWait    Suspens the execution of the current thread until one or more semaphores have been   
                                    cleared                                 
F                DosNewSize      Change the size of the file associated with the specified file handle               
R  21H  3CH,3DH  DosOpen          Open an existing file (if present) or create 
                                    a file with the name specified by the ASCIIZ string provided                         
                  DosOpenQueue    Open the queue specified by the ASCIIZ string provided for use by the current process 
                  DosOpenSem      Open the semaphore specified by the ASCIIZ
                                    string provided for use by the current   
                                    process
                  DosPeekQueue    Examine, but do not remove, an element from the specified queue                     
                  DosPFSActivate  Activate the code-page and font specified for the printer. This activation only affects the calling process.
                  DosPFSCloseUser  Notify the font-switching software that the process has closed its spool file. The font-switching software can release any related resources                               
                  DosPFSInit      Direct the font-switching software to initialize code-page switching and font-switching
                                    for the specified printer               
                  DosPFSQueryAct  Return the current code-page and font for the
                                    specified printer                       
                  DosPFSVerifyFont Ensure that the code-page and font desired
                                    are supported by the specified printer   
                  DosPhysicalDisk  Return partitioned disk information     
F                DosPortAccess    Request or release access to a hardware port or ports                       
                  DosPtrace        Set a Ptrace buffer that is used in debugging 
                  DosPurgeQueue    Delete all of the elements contained in the queue associated with the handle provided
                  DosPutMessage    Output the message provided to the file or device associated with a given file handle
F  21H  47H      DosQCurDir      Return the current directory             
F  21H  19H      DosQCurDisk      Return the current disk drive           
R                DosQFHandState  Query the state of the file associated with tha handle provided                     
F  21H  57H      DosQFileInfo    Return dat and time specifics about the file                                                 
                                    associated with the file handle provided 
F  21H  43H      DosQFileMode    Return the attribute byte for a specific file                                               
F  21H  36H      DosQFSInfo      Return information about the disk in the 
                                    specified drive                         
                  DosQHandType    Determine if the handle specified references                                                 
                                    a device or file                         
                  DosQueryQueue    Return the number of elements in the specified queue                               
F  21H  54H      DosQVerify      Determine whether the specified queue is 
                                    active or inactive                       
F  21H  3FH      DosRead          Read the specified number of bytes from the file associated with the file handle     
                  DosReadAsynch    Read the specified number of bytes from the file associated with the file handle. The I/O operation occurs concurrently with the continued execution of the process       
                  DosReadQueue    Read and remove an element from the specified queue                                   
R                DosReallocHuge  Modify the size of a previously allocated
                                    huge (larger than 1 segment) section of 
                                    memory                                   
R  21H  4AH      DosReallocSeg    Modify the size of a previosly allocated 
                                    memory segment                           
                  DosResumeThread  Restart a previously suspended thread of 
                                    execution for the current process       
F  3AH          DosRmDir        Remove the directory specified by the ASCIIZ string                                   
F                DosScanEnv      Search a process environment segment for a
                                    specified variable and return its value if
                                    found 
                  DosSearchPath    Define a search path for data files     
F  21H  0EH      DosSelectDisk    Set the desired current drive           
                  DosSelectSession Select the desired foreground session   
                  DosSemClear      Clear the specified semaphore           
                  DosSemRequest    Obtain a new handle to a new semaphore   
                  DosSemSet        Set the semaphore associated with the handle provided
                  DosSemSetWait    Set the semaphore associated with the handle 
                                    provided and suspend execution of the current   
                                    thread until the semaphore is cleared   
                  DosSemWait      Suspend execution of the current thread until 
                                    the semaphore associated with the handle 
                                    provided is cleared                     
                  DosSendCtlC      Send a Ctrl-C signal to the lowest process in                                               
                                    the tree of processes                   
    21H  66H      DosSetCP        Set the code-page as specified for the call-                                                 
                                    ing process                             
F  21H  2BH,2DH  DosSetDateTime  Set the current system date and time     
R                DosSetFHandState Set the state of the file associated with the                                               
                                    handle provided                         
F  21H  57H      DosSetFileInfo  Set the date information (last read, last
                                    write, creation, and so on) for the file 
                                    associated with the handle provided     
F  21H  43H      DosSetFileMode  Set the attribute byte for the file assoc-
                                    iated with the file handle provided     
F                DosSetFsInfo    Sets information for a file system  specified                                               
                                    device                                   
    21H  67H      DosSetMaxFH      Define the maximum number of file handles (up                                               
                                    to 255) for the current process         
                  DosSetPrty      Set the priority for the current thread 
                  DosSetSession    Set the status of a child process       
R                DosSetSigHandler Define a signal-handling routine for a   
                                    specific signal                         
F  21H  25H      DosSetVec        Define an exception-handling routine for 
                                    specified exeptions                     
F  21H  2EH      DosSetVerify    Enable or disable disk verification for the current process                         
                  DosSleep        Suspend the current thread for a specified
                                    interval of time                         
                  DosStartSession  Invoke a second application as an OS/2   
                                    session                                 
                  DosStopSession  Terminate a session previously invoked thru the DosStartSession                     
F                DosSubAlloc      Allocate memory from within a segment   
                                    previously allocated by DosAllocSeg or   
                                    DosAllocShrSeg                           
F                DosSubFree      Free memory previously allocated by     
                                    DosSubAlloc                             
F                DosSubSet        Initialize a segment for suballocation, or
                                    change the size of a previously suballocated segment                                 
                  DosSuspendThread Suspend the current thread of execution until                                               
                                    a DosResumeThread service is invoked     
                  DosSystemService Request OS/2 to perform a unique function
                                    (such as system-wide event notification for the specific process)                   
                  DosTimerAsynch  Start a timer that runs asynchronously to the                                               
                                    thread issuing the request. Upon completion of the time interval, this service sets the specified semaphore                     
                  DosTimerStart    Start a periodic interval timer that runs
                                    asynchronously to the current thread. Each
                                    time the interval completes, the service 
                                    clears the specified semaphore           
                  DosTimerStop    Stop a periodic interval timer previously
                                    started by DosTimerStart or DosTimerAsynch
                  DosUnlockSeg    Unlock a memory segment previously marked as                                  discardable                             
                  DosWait          Suspend the current process until the child process specified by the provided process
                                    identification terminates               
F  21H  40H      DosWrite        Write the specified number of bytes to the
                                    file associated with the file handle     
                                    provided                                 
                  DosWriteAsynch  Write the specified number of bytes to the
                                    file associated with the file handle that is                                                 
                                    provided concurrently with the threads   
                                    remaining processing                     
                  DosWriteQueue    Place an element in a specified queue


{|class="wikitable"
{|class="wikitable"
Line 393: Line 402:
|-
|-
| || || ||VioGetConfig||Return the current video display configuration
| || || ||VioGetConfig||Return the current video display configuration
|-
|F||10H||03H||VioGetCurPos||Return the current row and column cursor position for the specified logical video buffer
|-
|F|| || ||VioGetCurType||Return the cursor type and attributes for the specified logical video buffer
|-
| || || ||VioGetFont||Return the current font for the specified logical video buffer
|-
|F||10H||0FH||VioGetMode||Return the current video mode for the specified logical video buffer
|-
|F|| || ||VioGetPhysBuf||Return the address of the physical video buffer
|-
| || || ||VioGetState||Return the current video states, or the palette registers, the border color, or background intensity
|-
| || || ||VioModeUndo||Allow one process thread to cancel a VioModeWait service issued by another thread in the same process
|-
| || || ||VioModeWait||Request that a graphics mode application be notified each time it needs to restore its video mode
|-
| || || ||VioPopUp||Allocate a temporary popup display screen for message display
|-
| || || ||VioPrtSc||Print the current screen contents
|-
| || || ||VioPrtScToggle||The OS/2 session manager invokes this routine each time the user presses the Shift-PrtSc key combination
|-
|F||10H||08H||VioReadCellStr||Read a string of characters and attributes from the screen starting at a specified row and column location
|-
|F|| || ||VioReadCharStr||Read a character string from the display starting at ther specified row and column
|-
| || || ||VioRegister||Register a video subsystem with a specific screen group
|-
| || || ||VioSavRedraw||Request that a process be notified when it must save or redraw its contents
|-
| || || ||VioSavRedrawUndo||Allow one thread in a process to cancel a
|-
| || || ||VioSavRedrawWait||service issued by another thread within the same process
|-
|F||10H||07H||VioScrollDn||Scroll the screen contents down as specified by the row and column numbers and number of lines to scroll
|-
| || || ||VioScrLock||Lock the screen and prevent I/O operations
|-
|F|| || ||VioScrollLf||Scroll the screen contents to the left as specified
|-
|F|| || ||VioScrollRt||Scroll the screen contents to the right as specified
|-
|F||10H||06H||VioScrollUp||Scroll the screen contents up as specified by the row and column numbers and number of lines to scroll
|-
| || || ||VioScrUnlock||Unlock the screen for I/O operations
|-
| || || ||VioSetAnsi||Enable or disable ANSI support for the specified logical video buffer
|-
| || || ||VioSetCP||Set the code-page for the specified logical video buffer
|-
| || || ||VioSetCurPos||Set the cursor position to the row and column of the logical video buffer provided
|-
|F||10H||02H||VioSetCurType||Set the cursor type (attributes) for the logical video display provided
|-
| || || ||VioSetFont||Set the font for the logical video display
|-
|F||10H||00H||VioSetMode||Set the display mode for the logical video display provided
|-
| ||10H||0BH||VioSetState||Set the state for the palette registers, border color, or background intensity for the specified logical video display
|-
|F|| || ||VioShowBuf||Update the physical display with the contents of a logical display buffer
|-
|F||10H||09H||VioWrtCellStr||Write a character string (with attributes) to the specified video display location
|-
|F||10H||0AH||VioWrtCharStr||Write a character string to the specified vidoe display location
|-
|F|| || ||VioWrtCharStrAtt||Write a character string using a repeated attribute to the specified video display
|-
|F|| || ||VioWrtNAttr||Write the character attribute to the video  display at the specified location. This service provides an optional repeat count
|-
|F|| || ||VioWrtNCell||Write a character or attribute to the video display the specified number of times
|-
|F|| || ||VioWrtNChar||Write a character to the video display starting at the specified location and repeating the  display n times
|-
|F||10H||0EH||VioWrtTty||Write a character string to the video display starting at the current cursor position in TTY mode
|}
|}
F  10H  03H      VioGetCurPos    Return the current row and column cursor     
                                    position for the specified logical video buffer
F                VioGetCurType    Return the cursor type and attributes for the
                                    specified logical video buffer               
                  VioGetFont      Return the current font for the specified logical video buffer
F  10H  0FH      VioGetMode      Return the current video mode for the specified
                                    logical video buffer                           
F                VioGetPhysBuf    Return the address of the physical video buffer
                  VioGetState      Return the current video states, or the palette
                                    registers, the border color, or background     
                                    intensity                                     
                  VioModeUndo      Allow one process thread to cancel a           
                                    VioModeWait service issued by another thread   
                                    in the same process                           
                  VioModeWait      Request that a graphics mode application be   
                                    notified each time it needs to restore its video mode                                     
                  VioPopUp        Allocvate a temporary popup display screen for message display                               
                  VioPrtSc        Print the current screen contents             
                  VioPrtScToggle  The OS/2 session manager invokes this routine
                                    each time the user presses the Shift-PrtSc key
                                    combination                                 
F  10H  08H      VioReadCellStr  Read a string of characters and attributes from
                                    the screen starting at a specified row and     
                                    column location
F                VioReadCharStr  Read a character string from the display starting at ther specified row and column
                  VioRegister      Register a video subsystem with a specific screen group
                  VioSavRedraw    Request that a process be notified when it must
                                    save or redraw its contents
                  VioSavRedrawUndo Allow one thread in a process to cancel a
                                    VioSavRedrawWait service issued by another
                                    thread within the same process
F  10H  07H      VioScrollDn      Scrool the screen contents down as specified by
                                    the row and column numbers and number of lines
                                    to scroll
                  VioScrLock      Lock the screen and prevent I/O operations
F                VioScrollLf      Scroll the screen contents to the left as
                                    specified
F                VioScrollRt      Scroll the screen contents to the right as
                                    specified
F  10H  06H      VioScrollUp      Scroll the screen contents up as specified by
                                    the row and column numbers and number of lines
                                    to scroll
                  VioScrUnlock    Unlock the screen for I/O operations
                  VioSetAnsi      Enable or disable ANSI support for the
                                    specified logical video buffer
                  VioSetCP        Set the code-page for the specified logical
                                    video buffer
                  VioSetCurPos    Set the cursor position to the row and column
                                    of the logical video buffer provided
F  10H  02H      VioSetCurType    Set the cursor type (attributes) for the
                                    logical video display provided
                  VioSetFont      Set the font for the logical video display
F  10H  00H      VioSetMode      Set the display mode for the logical video
                                    display provided
    10H  0BH      VioSetState      Set the state for the palette registers, border
                                    color, or background intensity for the
                                    specified logical video display
F                VioShowBuf      Update the physical display with the contents
                                    of a logical display buffer
F  10H  09H      VioWrtCellStr    Write a character string (with attributes) to
                                    the specified video display location
F  10H  0AH      VioWrtCharStr    Write a character string to the specified
                                    vidoe display location
F                VioWrtCharStrAtt Write a character string using a repeated
                                    attribute to the specified video display
F                VioWrtNAttr      Write the character attribute to the video
                                    display at the specified location. This service
                                    provides an optional repeat count
F                VioWrtNCell      Write a character or attribute to the video
                                    display the specified number of times
F                VioWrtNChar      Write a character to the video display starting
                                    at the specified location and repeating the
                                    display n times
F  10  0EH      VioWrtTty        Write a character string to the video display
                                    starting at the current cursor position in TTY
                                    mode


[[Category:Technical]]
[[Category:Technical]]

Revision as of 00:24, 13 February 2019

By Bill Earle

The following information describes the OS/2 Application Program Interface (API) calls. I have included information under the API column as follows:

F
is a Family API (FAPI) call. This means that this call will also run under DOS 3.3, if assembled with the BIND program.
R
means Restricted function. Refer to the OS/2 Technical Reference Manual for further info.

I also have attempted to provide information to assist in porting old programs over to OS/2. INT and SUBCODE columns provide the old DOS interrupt and subcode functions. In some cases, these are approximations of old DOS calls. Again, refer to the OS/2 Technical Reference Manual for further information.

API INT SUBCODE FUNCTION DESCRIPTION
F BadDynLink Called on bad dynamic link
R DosAllocHuge Allocate memory greater than one segment
R 21H 48H DosAllocSegment Allocate a segment of memory
DosAllocShrSeg Allocate a shared-memory segment. The segment returned has a name that each process can access.
F DosBeep Generate a sound frequency for the specified duration
21H 0DH,68H DosBufReset Flush the disk buffers for the requesting process
F DosCaseMap Map a binary string into an ASCII string by using a DOS code-page
F 21H 3BH DosChdir Set the current directory
F 21H 42H DosChgFilePtr Move a file's read/write pointer
F DosCLIAccess Request CLI/STI privilege before performing IN/OUT operations.
F 21H 3EH DosClose Close the file associated with the specified file handle
DosCloseQueue Close the queue specified for use by the calling process
DosCloseSem Close the semaphore specified for use by the calling process
F DosCreateCSAlias Create an executable alias descriptor (second name) for the data type descriptor received
DosCreateQueue Create and open the queue specified for use by the calling process
DosCreatSem Create a semaphore for use by the calling process
DosCreateThread Create an asynchronous execution thread for the calling process. Threads are the OS/2 CPU scheduling entities.
R 21H 4DH DosCWait Wait for a child process termination and get return code
F 21H 41H DosDelete Delete the file specified by the ASCIIZ name.
F DosDevConfig Return device information about attached devices
F 21H 44H DosDevIOCtl Communicate with an opened device handle
F 21H 45H,46H DosDupHandle Return a duplicate DOS handle for the file handle provided
DosEnterCritSec Mark the entrance of a critical section of code and prevent the execution of other threads of code in the same process for concurrent processing synchronization
R DosError Allow the calling process to receive OS/2 hard-error notification as Opposed to the OS/2 generation of a hard-error signal
R 21H 59H DosErrorClass Get extended error information.
R 21H 4BH DosExecPgm Spawn a secondary program as a child process
R 21H 00H,4CH DosExit Complete the current thread of information
DosExitCritSec Mark the end of a critical section of code and enable other threads within the current process to execute again in a concurrent fashion
DosExitList Maintain the list (add,delete,modify) of routines that the current process is to execute upon completion
R 21H 5CH DosFileLock Lock or unlock a range of bytes within a file in support of file-sharing operations
R DosFindClose Close the handle associated with the file returned by a DosFindNext API service
R 21H 4EH DosFindFirst Find the first file in a group of files matching the file specification provided
R 21H 4FH DosFindNext Find the next file in a group of files matching the file specification provided in the call to DosFindFirst
DosFlagProcess Set an external event flag that other processes can access for synchronization of concurrent processes
DosFreeModule Release the link to the dynamic link module specified by the module handle.

This service decrements the usage for the specified module

F 21H 49H DosFreeSeg Release a previously allocated memory segment
F DosGetCollate Get the current collating sequence based upon the current code-page
21H 66H DosGetCP Return the code-page in use by the current application
R 21H 38H DosGetCtryInfo Return country dependent formatting information
F 21H 2AH,2CH DosGetDateTime Return the current date and time
21H 65H DosGetDBCSEnv Return the DBCS vector for the specified country code
F DosGetEnv Return the segment and offset address of the current process command environment
F DosGetHugeShift Return the shift count used by DosAllocHuge to allocate memory larger than one segment
DosGetInfoSeg Return the address of the OS/2 system variables
F DosGetMachineMode Return the current processor mode (real or Protected)
F DosGetMessage Obtain the text from the system message file for the specified message and place it into a user-defined buffer
DosGetModHandle Return a handle to a dynamic link module
DosGetModName Get the complete DOS path name for the dynamic link module associated with the file handle provided
DosGetProcAddr Return the far address to the procedure specified within a dynamic link library
DosGetPrty Return the priority of the current process
DosGetResource Return the segment selector for the handle to the specified resource
DosGetSeg Obtain access to the memory segment specified by the selector provided
DosGetShrSeg Obtain access to the shared memory segment specified by the name provided. The usage count of the segment is incremented
F 21H 30H DosGetVersion Return the DOS version number
DosGiveSeg Allow the process specified by the process identification provided to access a shared memory segment
R DosHoldSignal Enable/disable signal processing for the current process
F DosInsMessage Place a text string into the body of a message
DosKillProcess Terminate a process and return a termination code to the parent process or OS/2
DosLoadModule Load the dynamic link module specified and return a handle.
DosLockSeg Lock a segment of memory marked as discardable
DosMakePipe Create a communications pipe for the calling process
DosMemAvail Return the size of the largest block of memory available
F 21H 39H DosMkDir Create the specified directory
DosMonClose Close the handle to a serial device that the process has been monitoring
DosMonOpen Open a handle to a serial device for device I/O monitoring
DosMonRead Wait for and return the input records to a serial device open for I/O monitoring
DosMonReg Create input and output buffer structures for device I/O monitoring
DosMonWrite Write a data record to the output monitor buffer of a device open for I/O monitoring
F 21H 56H DosMove Move a file from one location to another
DosMuxSemWait Suspense the execution of the current thread until one or more semaphores have been cleared
F DosNewSize Change the size of the file associated with the specified file handle
R 21H 3CH,3DH DosOpen Open an existing file (if present) or create a file with the name specified by the ASCIIZ string provided
DosOpenQueue Open the queue specified by the ASCIIZ string provided for use by the current process
DosOpenSem Open the semaphore specified by the ASCIIZ string provided for use by the current process
DosPeekQueue Examine, but do not remove, an element from the specified queue
DosPFSActivate Activate the code-page and font specified for the printer. This activation only affects the calling process.
DosPFSCloseUser Notify the font-switching software that the process has closed its spool file. The font-switching software can release any related resources
DosPFSInit Direct the font-switching software to initialize code-page switching and font-switching for the specified printer
DosPFSQueryAct Return the current code-page and font for the specified printer
DosPFSVerifyFont Ensure that the code-page and font desired are supported by the specified printer
DosPhysicalDisk Return partitioned disk information
F DosPortAccess Request or release access to a hardware port or ports
DosPtrace Set a Ptrace buffer that is used in debugging
DosPurgeQueue Delete all of the elements contained in the queue associated with the handle provided
DosPutMessage Output the message provided to the file or device associated with a given file handle
F 21H 47H DosQCurDir Return the current directory
F 21H 19H DosQCurDisk Return the current disk drive
R DosQFHandState Query the state of the file associated with the handle provided
F 21H 57H DosQFileInfo Return date and time specifics about the file associated with the file handle provided
F 21H 43H DosQFileMode Return the attribute byte for a specific file
F 21H 36H DosQFSInfo Return information about the disk in the specified drive
DosQHandType Determine if the handle specified references a device or file
DosQueryQueue Return the number of elements in the specified queue
F 21H 54H DosQVerify Determine whether the specified queue is active or inactive
F 21H 3FH DosRead Read the specified number of bytes from the file associated with the file handle
DosReadAsynch Read the specified number of bytes from the file associated with the file handle. The I/O operation occurs concurrently with the continued execution of the process
DosReadQueue Read and remove an element from the specified queue
R DosReallocHuge Modify the size of a previously allocated huge (larger than 1 segment) section of memory
R 21H 4AH DosReallocSeg Modify the size of a previously allocated memory segment
DosResumeThread Restart a previously suspended thread of execution for the current process
F 3AH DosRmDir Remove the directory specified by the ASCIIZ string
F DosScanEnv Search a process environment segment for a specified variable and return its value if found
DosSearchPath Define a search path for data files
F 21H 0EH DosSelectDisk Set the desired current drive
DosSelectSession Select the desired foreground session
DosSemClear Clear the specified semaphore
DosSemRequest Obtain a new handle to a new semaphore
DosSemSet Set the semaphore associated with the handle provided
DosSemSetWait Set the semaphore associated with the handle provided and suspend execution of the current thread until the semaphore is cleared
DosSemWait Suspend execution of the current thread until the semaphore associated with the handle provided is cleared
DosSendCtlC Send a Ctrl-C signal to the lowest process in the tree of processes
21H 66H DosSetCP Set the code-page as specified for the calling process
F 21H 2BH,2DH DosSetDateTime Set the current system date and time
R DosSetFHandState Set the state of the file associated with the handle provided
F 21H 57H DosSetFileInfo Set the date information (last read, last write, creation, and so on) for the file associated with the handle provided
F 21H 43H DosSetFileMode Set the attribute byte for the file associated with the file handle provided
F DosSetFsInfo Sets information for a file system specified device
21H 67H DosSetMaxFH Define the maximum number of file handles (up to 255) for the current process
DosSetPrty Set the priority for the current thread
DosSetSession Set the status of a child process
R DosSetSigHandler Define a signal-handling routine for a specific signal
F 21H 25H DosSetVec Define an exception-handling routine for specified exceptions
F 21H 2EH DosSetVerify Enable or disable disk verification for the current process
DosSleep Suspend the current thread for a specified interval of time
DosStartSession Invoke a second application as an OS/2 session
DosStopSession Terminate a session previously invoked thru the DosStartSession
F DosSubAlloc Allocate memory from within a segment previously allocated by DosAllocSeg or DosAllocShrSeg
F DosSubFree Free memory previously allocated by DosSubAlloc
F DosSubSet Initialize a segment for suballocation, or change the size of a previously suballocated segment
DosSuspendThread Suspend the current thread of execution until a DosResumeThread service is invoked
DosSystemService Request OS/2 to perform a unique function (such as system-wide event notification for the specific process)
DosTimerAsynch Start a timer that runs asynchronously to the thread issuing the request. Upon completion of the time interval, this service sets the specified semaphore
DosTimerStart Start a periodic interval timer that runs asynchronously to the current thread. Each time the interval completes, the service clears the specified semaphore
DosTimerStop Stop a periodic interval timer previously started by DosTimerStart or DosTimerAsynch
DosUnlockSeg Unlock a memory segment previously marked as discardable
DosWait Suspend the current process until the child process specified by the provided process identification terminates
F 21H 40H DosWrite Write the specified number of bytes to the file associated with the file handle provided
DosWriteAsynch Write the specified number of bytes to the file associated with the file handle that is provided concurrently with the threads remaining processing
DosWriteQueue Place an element in a specified queue
API INT SUBCODE FUNCTION DESCRIPTION
F 16H 00H KbdCharIn Return the character scan code from the standard input device
KbdClose Close a handle associated with a logical (unique to a process) keyboard
KbdCustCP Install a user-definable custom keyboard translation table. The table only affects the keyboard handle provided
KbdDeRegister Remove a previously registered keyboard from the current session
F KbdFlushBuffer Clear the keyboard buffer for a specific keyboard handle
KbdFreeFocus Release the logical-to-physical keyboard mapping produced by KbdGetFocus
KbdGetFocus Join a logical (process unique) keyboard to a physical keyboard
F 16H 00H KbdGetStatus Return information about a specific logical keyboard
KbdGetXT Obtain information from the current keyboard translation table
KbdOpen Open a logical keyboard and return a keyboard handle
R 16H 00H KbdPeek Return, but do not remove, a keyboard scan code if present in the keyboard buffer associated with the keyboard handle provided
KbdRegister Register a keyboard subsystem for a specific session
KbdSetFgnd Increase the priority of the foreground key board thread
KbdSetStatus Set the size characteristics for a logical keyboard
KbdSetXT Set the keyboard translation table for a logical keyboard
KbdShellInit Request the shell to identify itself to the keyboard routing software
F 21H 0AH KbdStringIn Read a character string from a logical keybd
KbdSynch Synchronize access to the keyboard subsystem
KbdXlate Translate a scan code into a shift state and ASCII code
API INT SUBCODE FUNCTION DESCRIPTION
MouClose Close the mouse device handle for the current screen group
MouDeRegister Remove a partially registered mouse subsystem for the current session
33H 01H MouDrawPtr Notify the mouse device driver that a screen area previously restricted from access is now available
MouFlushQueue Direct the mouse device driver to purge the mouse event queue for the current session
MouGetDevStatus Return the current mouse device driver settings
MouGetEventMask Return the event mask for the current mouse device driver
MouGetHotKey Return the specific mouse key used for input (left, middle, or right)
MouGetNumButtons Return the number of buttons that the mouse driver supports
MouGetNumMickeys Return the number of "Mickeys" per centimeter for the current mouse driver
MouGetNumQueEl Return the status of the event queue for the current mouse device driver
33H 03H MouGetPtrPos Return the current row and column of the mouse pointer shape
MouGetPtrShape Obtain the current mouse pointer shape
MouGetScaleFact Return the current scaling factors for the mouse pointer shape
MouInitReal Initialize the mouse real-mode pointer
33H 00H MouOpen Open a mouse device driver for the current screen group. Return a device handle
33H 05H,06H MouReadEventQue Read and remove an event from the current mouse driver event queue
MouRegister Register a mouse subsystem for use with the current screen group
33H 02H MouRemovePtr Restrict a screen area from use by the mouse pointer
MouSetDevStatus Set the current mouse device driver status flags
33H 0CH MouSetEventMask Assign an event mask to the current mouse device driver
MouSetHotKey Define which button (left, middle, or right) serves as the hot key for the current mouse driver
33H 04H MouSetPtrPos Set the mouse pointer screen coordinates
33H 09H,0AH MouSetPtrShape Set the mouse pointer shape
MouSetScaleFact Set the scaling factor for the mouse pointer shape
MouShellInit Mouse shell indentifies itself to the mouse router
MouSynch Direct mouse subsystems to synchronize access to the mouse device driver
API INT SUBCODE FUNCTION DESCRIPTION
VioDeRegister Remove a previously registered video subsystem from a screen group
VioEndPopUp Remove a temporary window created by VioPopUp that is no longer required
VioGetAnsi Specify whether ANSI support is on or off for the current video buffer
F VioGetBuf Return the address of the logical (process unique) video buffer specified
VioGetCP Return the code-page used for display by the specified handle
VioGetConfig Return the current video display configuration
F 10H 03H VioGetCurPos Return the current row and column cursor position for the specified logical video buffer
F VioGetCurType Return the cursor type and attributes for the specified logical video buffer
VioGetFont Return the current font for the specified logical video buffer
F 10H 0FH VioGetMode Return the current video mode for the specified logical video buffer
F VioGetPhysBuf Return the address of the physical video buffer
VioGetState Return the current video states, or the palette registers, the border color, or background intensity
VioModeUndo Allow one process thread to cancel a VioModeWait service issued by another thread in the same process
VioModeWait Request that a graphics mode application be notified each time it needs to restore its video mode
VioPopUp Allocate a temporary popup display screen for message display
VioPrtSc Print the current screen contents
VioPrtScToggle The OS/2 session manager invokes this routine each time the user presses the Shift-PrtSc key combination
F 10H 08H VioReadCellStr Read a string of characters and attributes from the screen starting at a specified row and column location
F VioReadCharStr Read a character string from the display starting at ther specified row and column
VioRegister Register a video subsystem with a specific screen group
VioSavRedraw Request that a process be notified when it must save or redraw its contents
VioSavRedrawUndo Allow one thread in a process to cancel a
VioSavRedrawWait service issued by another thread within the same process
F 10H 07H VioScrollDn Scroll the screen contents down as specified by the row and column numbers and number of lines to scroll
VioScrLock Lock the screen and prevent I/O operations
F VioScrollLf Scroll the screen contents to the left as specified
F VioScrollRt Scroll the screen contents to the right as specified
F 10H 06H VioScrollUp Scroll the screen contents up as specified by the row and column numbers and number of lines to scroll
VioScrUnlock Unlock the screen for I/O operations
VioSetAnsi Enable or disable ANSI support for the specified logical video buffer
VioSetCP Set the code-page for the specified logical video buffer
VioSetCurPos Set the cursor position to the row and column of the logical video buffer provided
F 10H 02H VioSetCurType Set the cursor type (attributes) for the logical video display provided
VioSetFont Set the font for the logical video display
F 10H 00H VioSetMode Set the display mode for the logical video display provided
10H 0BH VioSetState Set the state for the palette registers, border color, or background intensity for the specified logical video display
F VioShowBuf Update the physical display with the contents of a logical display buffer
F 10H 09H VioWrtCellStr Write a character string (with attributes) to the specified video display location
F 10H 0AH VioWrtCharStr Write a character string to the specified vidoe display location
F VioWrtCharStrAtt Write a character string using a repeated attribute to the specified video display
F VioWrtNAttr Write the character attribute to the video display at the specified location. This service provides an optional repeat count
F VioWrtNCell Write a character or attribute to the video display the specified number of times
F VioWrtNChar Write a character to the video display starting at the specified location and repeating the display n times
F 10H 0EH VioWrtTty Write a character string to the video display starting at the current cursor position in TTY mode