home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / FORTRAN / DISK6 / BSEDOS.FD$ / BSEDOS.bin
Text File  |  1989-01-27  |  19KB  |  562 lines

  1. C****************************** Module Header *******************************
  2. C*
  3. C* Module Name: BSEDOS.FD
  4. C*
  5. C* OS/2 Base Include File
  6. C*
  7. C* Copyright (c) 1988, 1989  Microsoft Corporation
  8. C*
  9. C****************************************************************************
  10. C
  11. * Subcomponents marked with "+" are partially included by default
  12. *
  13. *   $DEFINE:                To include:
  14. *
  15. * + INCL_DOSPROCESS         Process and thread support
  16. *   INCL_DOSINFOSEG         InfoSeg support
  17. * + INCL_DOSFILEMGR         File Management
  18. * + INCL_DOSMEMMGR          Memory Management
  19. * + INCL_DOSSEMAPHORES      Semaphore support
  20. * + INCL_DOSDATETIME        Date/Time and Timer support
  21. *   INCL_DOSMODULEMGR       Module manager
  22. * + INCL_DOSRESOURCES       Resource support
  23. *   INCL_DOSNLS             National Language Support
  24. *   INCL_DOSSIGNALS         Signals
  25. *   INCL_DOSMONITORS        Monitors
  26. *   INCL_DOSQUEUES          Queues
  27. *   INCL_DOSSESMGR          Session Manager Support
  28. *   INCL_DOSDEVICES         Device specific, ring 2 support
  29. *   INCL_DOSNMPIPES         Named Pipes Support
  30. *   INCL_DOSPROFILE         DosProfile API
  31. *
  32.  
  33. $IF (defined(INCL_DOSPROCESS) .OR. .NOT.defined(INCL_NOCOMMON))
  34.  
  35.     INTEGER*2 DosBeep[EXTERN]
  36.     EXTERNAL  DosExit
  37.  
  38.     INTEGER*2 EXIT_THREAD, EXIT_PROCESS
  39.     PARAMETER (EXIT_THREAD             = 0)    ! DosExit codes
  40.     PARAMETER (EXIT_PROCESS            = 1)
  41.  
  42. $ENDIF                                  ! common INCL_DOSPROCESS consts
  43.  
  44.  
  45. $IF DEFINED(INCL_DOSPROCESS)         ! INCL_DOSPROCESS types
  46.  
  47.     STRUCTURE/PIDINFO/              ! Used in DosGetPID
  48.        INTEGER*2 pid
  49.        INTEGER*2 tid
  50.        INTEGER*2 pidParent
  51.     END STRUCTURE
  52.  
  53.     STRUCTURE/RESULTCODES/
  54.        INTEGER*2 codeTerminate
  55.        INTEGER*2 codeResult
  56.     END STRUCTURE
  57.  
  58.     INTEGER*2 DosCreateThread[EXTERN]
  59.     INTEGER*2 DosResumeThread[EXTERN]
  60.     INTEGER*2 DosSuspendThread[EXTERN]
  61.     INTEGER*2 DosCWait[EXTERN]
  62.     INTEGER*2 DosSleep[EXTERN]
  63.     EXTERNAL DosEnterCritSec
  64.     EXTERNAL DosExitCritSec
  65.     INTEGER*2 DosExitList[EXTERN]
  66.     INTEGER*2 DosExecPgm[EXTERN]
  67.     INTEGER*2 DosGetPID[EXTERN]
  68. C    INTEGER*2 DosGetPPID[EXTERN]
  69.     INTEGER*2 DosGetPrty[EXTERN]
  70.     INTEGER*2 DosSetPrty[EXTERN]
  71.     INTEGER*2 DosKillProcess[EXTERN]
  72.  
  73.     INTEGER*2 DCWA_PROCESS, DCWA_PROCESSTREE, DCWW_WAIT, DCWW_NOWAIT,
  74.      + PRTYS_PROCESS, PRTYS_PROCESSTREE, PRTYS_THREAD, PRTYC_NOCHANGE, 
  75.      + PRTYC_IDLETIME, PRTYC_REGULAR, PRTYC_TIMECRITICAL, P_PROCESS,
  76.      + P_PROCESSTREE, TC_EXIT, TC_HARDERROR, TC_TRAP, TC_KILLPROCESS,
  77.      + EXLST_ADD, EXLST_REMOVE, EXLST_EXIT, EXEC_SYNC, EXEC_ASYNC,
  78.      + EXEC_ASYNCRESULT, EXEC_TRACE, EXEC_BACKGROUND, EXEC_LOAD
  79.  
  80.     PARAMETER (DCWA_PROCESS            = 0)    ! Action code values
  81.     PARAMETER (DCWA_PROCESSTREE        = 1)
  82.  
  83.     PARAMETER (DCWW_WAIT               = 0)    ! Wait option values
  84.     PARAMETER (DCWW_NOWAIT             = 1)
  85.  
  86.     PARAMETER (PRTYS_PROCESS           = 0)    ! Priority scopes
  87.     PARAMETER (PRTYS_PROCESSTREE       = 1)
  88.     PARAMETER (PRTYS_THREAD            = 2)
  89.  
  90.     PARAMETER (PRTYC_NOCHANGE          = 0)    ! Priority classes
  91.     PARAMETER (PRTYC_IDLETIME          = 1)
  92.     PARAMETER (PRTYC_REGULAR           = 2)
  93.     PARAMETER (PRTYC_TIMECRITICAL      = 3)
  94.  
  95.     PARAMETER (P_PROCESS             = 0)
  96.     PARAMETER (P_PROCESSTREE         = 1)
  97.  
  98.     PARAMETER (TC_EXIT                 = 0)    ! codeTerminate values
  99.     PARAMETER (TC_HARDERROR            = 1)
  100.     PARAMETER (TC_TRAP                 = 2)
  101.     PARAMETER (TC_KILLPROCESS          = 3)
  102.  
  103.     PARAMETER (EXLST_ADD               = 1)    ! DosExitList functions
  104.     PARAMETER (EXLST_REMOVE            = 2)
  105.     PARAMETER (EXLST_EXIT              = 3)
  106.  
  107.     PARAMETER (EXEC_SYNC               = 0)    ! DosExecPgm functions
  108.     PARAMETER (EXEC_ASYNC              = 1)
  109.     PARAMETER (EXEC_ASYNCRESULT        = 2)
  110.     PARAMETER (EXEC_TRACE              = 3)
  111.     PARAMETER (EXEC_BACKGROUND         = 4)
  112.     PARAMETER (EXEC_LOAD               = 5)
  113.  
  114. $ENDIF                                  ! INCL_DOSPROCESS constants
  115.  
  116.  
  117. $IF DEFINED(INCL_DOSINFOSEG)         ! INCL_DOSINFOSEG constants
  118.  
  119.     INTEGER*2 DosGetInfoSeg[EXTERN]
  120.  
  121.     INTEGER*2 PT_FULLSCREEN, PT_REALMODE, PT_WINDOWABLEVIO, PT_PM,
  122.      +   PT_DETACHED
  123.  
  124.     PARAMETER (PT_FULLSCREEN           = 0)    ! Process Type codes
  125.     PARAMETER (PT_REALMODE             = 1)
  126.     PARAMETER (PT_WINDOWABLEVIO        = 2)
  127.     PARAMETER (PT_PM                   = 3)
  128.     PARAMETER (PT_DETACHED             = 4)
  129.  
  130. C$IF DEFINED(INCL_DOSINFOSEG)         ! INCL_DOSINFOSEG types
  131. C
  132. C    TYPE
  133. C    _GINFOSEG = PACKED RECORD               ! Global Info Seg
  134. C                    time                : integer4;
  135. C                    msecs               : integer4;
  136. C                    hour                : byte;
  137. C                    minutes             : byte;
  138. C                    seconds             : byte;
  139. C                    hundredths          : byte;
  140. C                    timezone            : word;
  141. C                    cusecTimerInterval  : word;
  142. C                    day                 : byte;
  143. C                    month               : byte;
  144. C                    year                : word;
  145. C                    weekday             : byte;
  146. C                    uchMajorVersion     : byte;
  147. C                    uchMinorVersion     : byte;
  148. C                    chRevisionLetter    : byte;
  149. C                    sgCurrent           : byte;
  150. C                    sgMax               : byte;
  151. C                    cHugeShift          : byte;
  152. C                    fProtectModeOnly    : byte;
  153. C                    pidForeground       : word;
  154. C                    fDynamicSched       : byte;
  155. C                    csecMaxWait         : byte;
  156. C                    cmsecMinSlice       : word;
  157. C                    cmsecMaxSlice       : word;
  158. C                    bootdrive           : word;
  159. C                    amecRAS             : array [1..32] of byte;
  160. C                    csgWindowableVioMax : byte;
  161. C                    csgPMMax            : byte;
  162. C                end;
  163. C
  164. C    _LINFOSEG =  PACKED RECORD              ! Local Info Seg
  165. C                    pidCurrent          : word;
  166. C                    pidParent           : word;
  167. C                    prtyCurrent         : word;
  168. C                    tidCurrent          : word;
  169. C                    sgCurrent           : word;
  170. C                    sgSub               : word;
  171. C                    fForeground         : word;
  172. C                    typeProcess         : byte;
  173. C                    dummy               : byte;
  174. C                    selEnvironment      : word;
  175. C                    offCmdLine          : word;
  176. C                    cbDataSegment       : word;
  177. C                    cbStack             : word;
  178. C                    cbHeap              : word;
  179. C                    hmod                : word;
  180. C                    selDS               : word;
  181. C                end;
  182. C
  183. C$ENDIF                                  ! INCL_DOSINFOSEG types
  184. $ENDIF                                  ! INCL_DOSINFOSEG constants
  185.  
  186. $IF (defined(INCL_DOSFILEMGR) .OR. .NOT.defined(INCL_NOCOMMON))
  187.  
  188.     INTEGER*2 DosOpen[EXTERN]
  189.     INTEGER*2 DosClose[EXTERN]
  190.     INTEGER*2 DosRead[EXTERN]
  191.     INTEGER*2 DosWrite[EXTERN]
  192.     INTEGER*2 DosDelete[EXTERN]
  193.     INTEGER*2 DosDupHandle[EXTERN]
  194.     INTEGER*2 DosQFHandState[EXTERN]
  195.     INTEGER*2 DosSetFHandState[EXTERN]
  196.     INTEGER*2 DosQHandType[EXTERN]
  197.     INTEGER*2 DosReadAsync[EXTERN]
  198.     INTEGER*2 DosWriteAsync[EXTERN]
  199.     INTEGER*2 DosFindFirst[EXTERN]
  200.     INTEGER*2 DosFindNext[EXTERN]
  201.     INTEGER*2 DosFindClose[EXTERN]
  202.     INTEGER*2 DosNewSize[EXTERN]
  203.     INTEGER*2 DosBufReset[EXTERN]
  204.     INTEGER*2 DosChgFilePtr[EXTERN]
  205.     INTEGER*2 DosFileLocks[EXTERN]
  206.     INTEGER*2 DosMove[EXTERN]
  207.     INTEGER*2 DosMkDir[EXTERN]
  208.     INTEGER*2 DosRmDir[EXTERN]
  209.     INTEGER*2 DosSelectDisk[EXTERN]
  210.     INTEGER*2 DosQCurDisk[EXTERN]
  211.     INTEGER*2 DosChDir[EXTERN]
  212.     INTEGER*2 DosQCurDir[EXTERN]
  213.     INTEGER*2 DosQFSInfo[EXTERN]
  214.     INTEGER*2 DosSetFSInfo[EXTERN]
  215.     INTEGER*2 DosQVerify[EXTERN]
  216.     INTEGER*2 DosSetVerify[EXTERN]
  217.     INTEGER*2 DosSetMaxFH[EXTERN]
  218.     INTEGER*2 DosQFileInfo[EXTERN]
  219.     INTEGER*2 DosSetFileInfo[EXTERN]
  220.     INTEGER*2 DosQFileMode[EXTERN]
  221.     INTEGER*2 DosSetFileMode[EXTERN]
  222.  
  223.     STRUCTURE/FILESTATUS/
  224.        INTEGER*2 fdateCreation
  225.        INTEGER*2 ftimeCreation
  226.        INTEGER*2 fdateLastAccess
  227.        INTEGER*2 ftimeLastAccess
  228.        INTEGER*2 fdateLastWrite
  229.        INTEGER*2 ftimeLastWrite
  230.        INTEGER*4 cbFile
  231.        INTEGER*4 cbFileAlloc
  232.        INTEGER*2 attrFile
  233.     END STRUCTURE
  234.  
  235. C    used by DOSQFSInfo
  236.     STRUCTURE/QFSINFO/
  237.        UNION
  238.           MAP                             ! used if FSInfoLevel = 1
  239.              INTEGER*4 idFileSystem
  240.              INTEGER*4 cSectorUnit
  241.              INTEGER*4 cUnit
  242.              INTEGER*4 cUnitAvail
  243.              INTEGER*2 cbSector
  244.           END MAP
  245.           MAP                             ! used if FSInfoLevel = 2
  246.              INTEGER*2 fdateCreation
  247.              INTEGER*2 ftimeCreation
  248.              INTEGER*1 cchName
  249.              CHARACTER*14 achname
  250.           END MAP
  251.        END UNION
  252.     END STRUCTURE
  253.  
  254. $ENDIF                                  ! common INCL_DOSFILEMGR types
  255.  
  256. $IF (defined(INCL_MEMMGR) .OR. .NOT.defined(INCL_NOCOMMON))
  257.  
  258.     INTEGER*2 DosAllocSeg[EXTERN]
  259.     INTEGER*2 DosReallocSeg[EXTERN]
  260.     INTEGER*2 DosFreeSeg[EXTERN]
  261.     INTEGER*2 DosGiveSeg[EXTERN]
  262.     INTEGER*2 DosGetSeg[EXTERN]
  263. C      INTEGER*2 DosSizeSeg[EXTERN]
  264.  
  265.     INTEGER*2 SEG_GIVEABLE, SEG_GETTABLE, SEG_DISCARDABLE
  266.  
  267.     PARAMETER (SEG_GIVEABLE            = 16#0001)  ! Segment attribute flags
  268.     PARAMETER (SEG_GETTABLE            = 16#0002)
  269.     PARAMETER (SEG_DISCARDABLE         = 16#0004)
  270.  
  271. $ENDIF                                  ! common INCL_DOSMEMMGRMGR constants
  272.  
  273. $IF defined(INCL_DOSMEMMGR)          ! INCL_DOSMEMMGR constants
  274.  
  275.     INTEGER*2 DosAllocHuge[EXTERN]
  276.     INTEGER*2 DosReallocHuge[EXTERN]
  277.     INTEGER*2 DosGetHugeShift[EXTERN]
  278.     INTEGER*2 DosAllocShrSeg[EXTERN]
  279.     INTEGER*2 DosLockSeg[EXTERN]
  280.     INTEGER*2 DosUnlockSeg[EXTERN]
  281.     INTEGER*2 DosGetShrSeg[EXTERN]
  282.     INTEGER*2 DosMemAvail[EXTERN]
  283.     INTEGER*2 DosCreateCSAlias[EXTERN]
  284.     INTEGER*2 DosSubAlloc[EXTERN]
  285.     INTEGER*2 DosSubFree[EXTERN]
  286.     INTEGER*2 DosSubSet[EXTERN]
  287.  
  288. $ENDIF                               ! INCL_DOSMEMMGR constants
  289.  
  290. $IF (defined(INCL_DOSSEMAPHORES) .OR. .NOT. defined(INCL_NOCOMMON))
  291.  
  292.     INTEGER*2 DosSemClear[EXTERN]
  293.     INTEGER*2 DosSemSet[EXTERN]
  294.     INTEGER*2 DosSemWait[EXTERN]
  295.     INTEGER*2 DosSemSetWait[EXTERN]
  296.     INTEGER*2 DosSemRequest[EXTERN]
  297.  
  298.     INTEGER*4 SEM_INDEFINITE_WAIT, SEM_IMMEDIATE_RETURN
  299.  
  300.     PARAMETER (SEM_INDEFINITE_WAIT = -1)
  301.     PARAMETER (SEM_IMMEDIATE_RETURN=  0)
  302.  
  303. $ENDIF                               ! common INCL_DOSSEMAPHORES constants
  304.  
  305. $IF defined(INCL_DOSSEMAPHORES)      ! INCL_DOSSEMAPHORES constants
  306.  
  307.     INTEGER*2 DosCreateSem[EXTERN]
  308.     INTEGER*2 DosOpenSem[EXTERN]
  309.     INTEGER*2 DosCloseSem[EXTERN]
  310.     INTEGER*2 DosMuxSemWait[EXTERN]
  311. C      INTEGER*2 DosFSRamSemRequest[EXTERN]
  312. C      INTEGER*2 DosFSRamSemClear[EXTERN]
  313.  
  314.     INTEGER*2 CSEM_PRIVATE, CSEM_PUBLIC
  315.  
  316.     PARAMETER (CSEM_PRIVATE            = 0)
  317.     PARAMETER (CSEM_PUBLIC             = 1)
  318.  
  319.     STRUCTURE/MUXSEM/
  320.        INTEGER*2 zero
  321.        INTEGER*2 hsem
  322.     END STRUCTURE
  323.  
  324.     STRUCTURE/MUXSEMLIST/
  325.        INTEGER*2 cmxs
  326.        RECORD/MUXSEM/ amxs(16)
  327.     END STRUCTURE
  328.  
  329. $ENDIF                                  ! INCL_DOSSEMAPHORES constants
  330.  
  331. $IF (defined(INCL_DOSDATETIME) .OR. .NOT.defined(INCL_NOCOMMON))
  332.  
  333.     INTEGER*2 DosGetDateTime[EXTERN]
  334.     INTEGER*2 DosSetDateTime[EXTERN]
  335.  
  336.     STRUCTURE/DATETIME/
  337.        INTEGER*1 hours
  338.        INTEGER*1 minutes
  339.        INTEGER*1 seconds
  340.        INTEGER*1 hundredths
  341.        INTEGER*1 day
  342.        INTEGER*1 month
  343.        INTEGER*2 year
  344.        INTEGER*2 timezone
  345.        INTEGER*1 weekday
  346.     END STRUCTURE
  347.  
  348. $ENDIF                                  ! common INCL_DOSDATETIME types
  349.  
  350. $IF defined(INCL_DOSDATETIME)
  351.  
  352.     INTEGER*2 DosTimerAsync[EXTERN]
  353.     INTEGER*2 DosTimerStart[EXTERN]
  354.     INTEGER*2 DosTimerStop[EXTERN]
  355.  
  356. $ENDIF                                  ! INCL_DOSDATETIME
  357.  
  358. $IF defined(INCL_DOSMODULEMGR)
  359.  
  360.     INTEGER*2 DosLoadModule[EXTERN]
  361.     INTEGER*2 DosFreeModule[EXTERN]
  362.     INTEGER*2 DosGetProcAddr[EXTERN]
  363.     INTEGER*2 DosGetModHandle[EXTERN]
  364.     INTEGER*2 DosGetModName[EXTERN]
  365.  
  366. $ENDIF                                  ! INCL_DOSMODULEMGR
  367.  
  368. $IF (defined(INCL_DOSRESOURCES) .OR. .NOT.defined(INCL_NOCOMMON))
  369.  
  370.     ! Predefined resource types
  371.  
  372.     INTEGER*2 RT_POINTER, RT_BITMAP, RT_MENU, RT_DIALOG, RT_STRING,
  373.      +  RT_FONTDIR, RT_FONT, RT_ACCELTABLE, RT_RCDATA, RT_MESSAGE, 
  374.      +  RT_DLGINCLUDE, RT_VKEYTBL, RT_KEYTBL, RT_CHARTBL
  375.  
  376.     PARAMETER (RT_POINTER              = 1)    ! Mouse pointer shape       
  377.     PARAMETER (RT_BITMAP               = 2)    ! Bitmap                    
  378.     PARAMETER (RT_MENU                 = 3)    ! Menu template             
  379.     PARAMETER (RT_DIALOG               = 4)    ! Dialog template           
  380.     PARAMETER (RT_STRING               = 5)    ! String tables             
  381.     PARAMETER (RT_FONTDIR              = 6)    ! Font directory            
  382.     PARAMETER (RT_FONT                 = 7)    ! Font                      
  383.     PARAMETER (RT_ACCELTABLE           = 8)    ! Accelerator tables        
  384.     PARAMETER (RT_RCDATA               = 9)    ! Binary data               
  385.     PARAMETER (RT_MESSAGE              = 10)   ! Error msg tables          
  386.     PARAMETER (RT_DLGINCLUDE           = 11)   ! Dialog include file name  
  387.     PARAMETER (RT_VKEYTBL              = 12)   ! Key to vkey tables        
  388.     PARAMETER (RT_KEYTBL               = 13)   ! Key to UGL tables         
  389.     PARAMETER (RT_CHARTBL              = 14)   ! Glyph to character tables 
  390.  
  391. $ENDIF                                  ! common INCL_DOSRESOURCES consts
  392.  
  393. $IF defined(INCL_DOSRESOURCES)
  394.  
  395.     INTEGER*2 DosGetResource[EXTERN]
  396.  
  397. $ENDIF                                  ! INCL_DOSRESOURCES
  398.  
  399. $IF DEFINED(INCL_DOSNLS)             ! INCL_DOSNLS types
  400.  
  401.     STRUCTURE/COUNTRYCODE/
  402.        INTEGER*2 country
  403.        INTEGER*2 codepage
  404.     END STRUCTURE
  405.  
  406.     STRUCTURE/COUNTRYINFO/
  407.        INTEGER*2 country                 ! country code
  408.        INTEGER*2 codepage                ! Reserved value (must =0)
  409.        INTEGER*2 fsDateFmt               ! Date format
  410.        CHARACTER*5 szCurrency
  411.        CHARACTER*2 szThousandsSeparator
  412.        CHARACTER*2 szDecimal
  413.        CHARACTER*2 szDateSeparator
  414.        CHARACTER*2 szTimeSeparator
  415.        INTEGER*1 fsCurrencyFmt
  416.        INTEGER*1 cDecimalPlace
  417.        INTEGER*1 fsTimeFmt
  418.        INTEGER*2 abReserved(2)           ! Reserved (must =0)
  419.        CHARACTER*2 szDataSeparator
  420.        INTEGER*2 abReserved2(2)          ! Reserved (must =0)
  421.     END STRUCTURE
  422.  
  423.     INTEGER*2 DosGetCtryInfo[EXTERN]
  424.     INTEGER*2 DosGetDBCSEv[EXTERN]
  425.     INTEGER*2 DosCaseMap[EXTERN]
  426.     INTEGER*2 DosGetCollate[EXTERN]
  427.     INTEGER*2 DosGetCp[EXTERN]
  428.     INTEGER*2 DosSetCp[EXTERN]
  429. C      INTEGER*2 DosSetProcCp[EXTERN]
  430.  
  431. $ENDIF                                  ! INCL_DOSNLS
  432.  
  433. $IF DEFINED(INCL_DOSSIGNALS)         ! INCL_DOSSIGNALS constants
  434.  
  435.     ! Signal Numbers for DosSetSigHandler
  436.  
  437.     INTEGER*2 SIG_CTRLC, SIG_BROKENPIPE, SIG_KILLPROCESS, 
  438.      +  SIG_CTRLBREAK, SIG_PFLG_A, SIG_PFLG_B, SIG_PFLG_C, SIG_CSIGNALS
  439.  
  440.     PARAMETER (SIG_CTRLC               = 1)    ! Control C                 
  441.     PARAMETER (SIG_BROKENPIPE          = 2)    ! Broken Pipe               
  442.     PARAMETER (SIG_KILLPROCESS         = 3)    ! Program Termination       
  443.     PARAMETER (SIG_CTRLBREAK           = 4)    ! Control Break             
  444.     PARAMETER (SIG_PFLG_A              = 5)    ! Process Flag A            
  445.     PARAMETER (SIG_PFLG_B              = 6)    ! Process Flag B            
  446.     PARAMETER (SIG_PFLG_C              = 7)    ! Process Flag C            
  447.     PARAMETER (SIG_CSIGNALS            = 8)    ! number of signals plus one
  448.  
  449.     ! Flag Numbers for DosFlagProcess
  450.  
  451.     INTEGER*2 PFLG_A, PFLG_B, PFLG_C
  452.  
  453.     PARAMETER (PFLG_A                  = 0)    ! Process Flag A            
  454.     PARAMETER (PFLG_B                  = 1)    ! Process Flag B            
  455.     PARAMETER (PFLG_C                  = 2)    ! Process Flag C            
  456.  
  457.     INTEGER*2 SIGA_KILL, SIGA_IGNORE, SIGA_ACCEPT, SIGA_ERROR,
  458.      +   SIGA_ACKNOWLEDGE
  459.  
  460.     PARAMETER (SIGA_KILL               = 0)    ! Signal actions
  461.     PARAMETER (SIGA_IGNORE             = 1)
  462.     PARAMETER (SIGA_ACCEPT             = 2)
  463.     PARAMETER (SIGA_ERROR              = 3)
  464.     PARAMETER (SIGA_ACKNOWLEDGE        = 4)
  465.  
  466.     INTEGER*2 HLDSIG_ENABLE, HLDSIG_DISABLE
  467.  
  468.     PARAMETER (HLDSIG_ENABLE           = 0)    ! DosHoldSignal constants
  469.     PARAMETER (HLDSIG_DISABLE          = 1)
  470.  
  471.     INTEGER*2 FLGP_SUBTREE, FLGP_PID
  472.  
  473.     PARAMETER (FLGP_SUBTREE            = 0)    ! DosFlagProcess codes
  474.     PARAMETER (FLGP_PID                = 1)
  475.  
  476.     INTEGER*2 DosSetSigHandler[EXTERN]
  477.     INTEGER*2 DosFlagProcess[EXTERN]
  478.     INTEGER*2 DosHoldSignal[EXTERN]
  479.     INTEGER*2 DosSendSignal[EXTERN]
  480.  
  481. $ENDIF                                  ! INCL_DOSSIGNALS constants
  482.  
  483. $IF defined(INCL_DOSMONITORS)
  484.  
  485.     INTEGER*2 DosMonOpen[EXTERN]
  486.     INTEGER*2 DosMonClose[EXTERN]
  487.     INTEGER*2 DosMonReg[EXTERN]
  488.     INTEGER*2 DosMonRead[EXTERN]
  489.     INTEGER*2 DosMonWrite[EXTERN]
  490.  
  491. $ENDIF                                  ! INCL_DOSMONITORS
  492.  
  493. $IF defined(INCL_DOSQUEUES)
  494.  
  495.     INTEGER*2 DosMakePipe[EXTERN]
  496.     INTEGER*2 DosCloseQueue[EXTERN]
  497.     INTEGER*2 DosCreateQueue[EXTERN]
  498.     INTEGER*2 DosOpenQueue[EXTERN]
  499.     INTEGER*2 DosPeekQueue[EXTERN]
  500.     INTEGER*2 DosPurgeQueue[EXTERN]
  501.     INTEGER*2 DosQueryQueue[EXTERN]
  502.     INTEGER*2 DosReadQueue[EXTERN]
  503.     INTEGER*2 DosWriteQueue[EXTERN]
  504.     INTEGER*2 DosError[EXTERN]
  505.     INTEGER*2 DosSetVec[EXTERN]
  506.     INTEGER*2 DosGetMessage[EXTERN]
  507.     INTEGER*2 DosErrClass[EXTERN]
  508.     INTEGER*2 DosInsMessage[EXTERN]
  509.     INTEGER*2 DosPutMessage[EXTERN]
  510. C      INTEGER*2 DosSysTrace[EXTERN]
  511. C      INTEGER*2 DosDynamicTrace[EXTERN]
  512. C      INTEGER*2 DosPTrace[EXTERN]
  513. C      INTEGER*2 DosQSysInfo[EXTERN]
  514.     INTEGER*2 DosGetenv[EXTERN]
  515.     INTEGER*2 DosScanEnv[EXTERN]
  516.     INTEGER*2 DosSearchPath[EXTERN]
  517.     INTEGER*2 DosGetVersion[EXTERN]
  518.     INTEGER*2 DosGetMachineMode[EXTERN]
  519.  
  520. $ENDIF                                  ! INCL_DOSQUEUES
  521.  
  522.  
  523. $IF DEFINED(INCL_DOSSESMGR)          ! INCL_DOSSESMGR types
  524.  
  525.     STRUCTURE/STARTDATA/
  526.        INTEGER*2 Length
  527.        INTEGER*2 Related
  528.        INTEGER*2 FgBg
  529.        INTEGER*2 TraceOpt
  530.        INTEGER*4 PgmTitle                 ! Pointer to string
  531.        INTEGER*4 PgmName                  ! Pointer to string
  532.        INTEGER*4 PgmInputs                ! Pointer to string
  533.        INTEGER*4 TermQ                    ! Pointer to string
  534.     END STRUCTURE
  535.  
  536.     STRUCTURE/STATUSDATA/
  537.        INTEGER*2 Length
  538.        INTEGER*2 SelectInd
  539.        INTEGER*2 BondInd
  540.     END STRUCTURE
  541.  
  542.     INTEGER*2 DosStartSession[EXTERN]
  543.     INTEGER*2 DosSetSession[EXTERN]
  544.     INTEGER*2 DosSelectSession[EXTERN]
  545.     INTEGER*2 DosStopSession[EXTERN]
  546. C       INTEGER*2 DosQAppType[EXTERN]
  547.  
  548. $ENDIF                                  ! INCL_DOSSESMGR types
  549.  
  550. $IF defined(INCL_DOSDEVICES)
  551.  
  552.     INTEGER*2 DosDevConfig[EXTERN]
  553.     INTEGER*2 DosDevIOCtl[EXTERN]
  554.     INTEGER*2 DosSystemService[EXTERN]
  555.     INTEGER*2 DosCLIAccess[EXTERN]
  556.     INTEGER*2 DosPortAccess[EXTERN]
  557.     INTEGER*2 DosPhysicalDisk[EXTERN]
  558. C       INTEGER*2 DosR2StackRealLoc[EXTERN]
  559. C       INTEGER*2 DosCallback[EXTERN]
  560.  
  561. $ENDIF                                  ! INCL_DOSDEVICES
  562.