home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / FORTRAN / DISK6 / OS2DEF.FD$ / OS2DEF.bin
Text File  |  1989-02-04  |  7KB  |  244 lines

  1. C***************************************************************************\
  2. C
  3. C Module Name: OS2DEF.FD
  4. C
  5. C OS/2 Common Definitions file
  6. C
  7. C Copyright (c) 1987-1989  IBM Corporation
  8. C
  9. C***************************************************************************/
  10.  
  11. C* Severity codes
  12.     INTEGER*2 SEVERITY_NOERROR, SEVERITY_WARNING, SEVERITY_ERROR,
  13.      + SEVERITY_SEVERE, SEVERITY_UNRECOVERABLE
  14.  
  15.     PARAMETER(SEVERITY_NOERROR                    =#0000)
  16.     PARAMETER(SEVERITY_WARNING                    =#0004)
  17.     PARAMETER(SEVERITY_ERROR                      =#0008)
  18.     PARAMETER(SEVERITY_SEVERE                     =#000C)
  19.     PARAMETER(SEVERITY_UNRECOVERABLE              =#0010)
  20.  
  21. C* Base component error values
  22.  
  23.     INTEGER*2 WINERR_BASE, GPIERR_BASE, DEVERR_BASE, SPLERR_BASE
  24.  
  25.     PARAMETER(WINERR_BASE     =#1000)   ! Window Manager                 
  26.     PARAMETER(GPIERR_BASE     =#2000)   ! Graphics Presentation Interface
  27.     PARAMETER(DEVERR_BASE     =#3000)   ! Device Manager                 
  28.     PARAMETER(SPLERR_BASE     =#4000)   ! Spooler                        
  29.  
  30. C*** Common types used across components
  31.  
  32.     STRUCTURE/POINTL_/     ! ptl 
  33.        INTEGER*4  x
  34.        INTEGER*4  y
  35.     END STRUCTURE
  36.  
  37.     STRUCTURE/POINTS_/  ! pts
  38.        INTEGER*2 x
  39.        INTEGER*2 y
  40.     END STRUCTURE
  41.  
  42.     STRUCTURE/RECTL_/       ! rcl
  43.        INTEGER*4  xLeft
  44.        INTEGER*4  yBottom
  45.        INTEGER*4  xRight
  46.        INTEGER*4  yTop
  47.     END STRUCTURE
  48.  
  49. $IF .NOT. defined(INCL_SAADEFS)
  50. C* common DOS/SHL types
  51.  
  52. C* File time and date types
  53.  
  54. C      STRUCTURE/FTIME_/          ! ftime
  55. C    unsigned twosecs : 5         ! FORTRAN doesn't support bit fields
  56. C    unsigned minutes : 6
  57. C    unsigned hours   : 5
  58. C      END STRUCTURE
  59. C
  60. C      STRUCTURE/FDATE_/          ! fdate
  61. C    unsigned day     : 5         ! FORTRAN doesn't support bit fields
  62. C    unsigned month   : 4
  63. C    unsigned year    : 7
  64. C      END STRUCTURE
  65. C
  66.     STRUCTURE/FILEFINDBUF_/    ! findbuf
  67.        INTEGER*2  fdateCreation
  68.        INTEGER*2  ftimeCreation
  69.        INTEGER*2  fdateLastAccess
  70.        INTEGER*2  ftimeLastAccess
  71.        INTEGER*2  fdateLastWrite
  72.        INTEGER*2  ftimeLastWrite
  73.        INTEGER*4 cbFile                   ! End of file data
  74.        INTEGER*4 cbFileAlloc              ! File size allocated
  75.        INTEGER*2 attrFile                 ! File attribute
  76.        INTEGER*1 cchName                  ! Length of null-terminated name
  77.        CHARACTER*13 achName               ! Null-terminated name
  78.     END STRUCTURE
  79.  
  80. $ENDIF   ! .NOT.INCL_SAADEFS
  81.  
  82. C*** common DEV/SPL types
  83.  
  84. C* structure for Device Driver data
  85.  
  86.     STRUCTURE/DRIVDATA_/       ! driv
  87.        INTEGER*4 cb
  88.        INTEGER*4 lVersion
  89.        CHARACTER*(32) szDeviceName
  90.        INTEGER*1 abGeneralData(1)
  91.     END STRUCTURE
  92.  
  93. C* array indices for array parameter for DevOpenDC, SplQmOpen or SplQpOpen
  94.  
  95.     INTEGER*4 ADDRESS
  96.     PARAMETER(ADDRESS          =0)
  97.  
  98. $IF .NOT.defined(INCL_SAADEFS)
  99.     INTEGER*4 DRIVER_NAME, DRIVER_DATA, DATA_TYPE, COMMENT,
  100.      + PROC_NAME, PROC_PARAMS, SPL_PARAMS, NETWORK_PARAMS
  101.  
  102.     PARAMETER(DRIVER_NAME      =1)
  103.     PARAMETER(DRIVER_DATA      =2)
  104.     PARAMETER(DATA_TYPE        =3)
  105.     PARAMETER(COMMENT          =4)
  106.     PARAMETER(PROC_NAME        =5)
  107.     PARAMETER(PROC_PARAMS      =6)
  108.     PARAMETER(SPL_PARAMS       =7)
  109.     PARAMETER(NETWORK_PARAMS   =8)
  110.  
  111. C* structure definition as an alternative of the array parameter
  112.  
  113. C    STRUCTURE/DEVOPENSTRUC_/     ! dop
  114. C       INTEGER*4 pszLogAddress         ! These need to be LOCFAR()'s
  115. C       INTEGER*4 pszDriverName         ! of CHARACTER variables.
  116. C       RECORD/DRIVDATA_/ pdriv
  117. C       INTEGER*4 pszDataType           ! All these guys too
  118. C       INTEGER*4 pszComment
  119. C       INTEGER*4 pszQueueProcName
  120. C       INTEGER*4 pszQueueProcParams
  121. C       INTEGER*4 pszSpoolerParams
  122. C       INTEGER*4 pszNetworkParams
  123. C    END STRUCTURE
  124.  
  125. $ENDIF   ! .NOT.INCL_SAADEFS
  126.  
  127. C*** common AVIO/GPI types
  128.  
  129. C* values of fsSelection field of FATTRS structure
  130.     INTEGER*2 FATTR_SEL_ITALIC, FATTR_SEL_UNDERSCORE, 
  131.      + FATTR_SEL_STRIKEOUT, FATTR_SEL_BOLD
  132.  
  133.     PARAMETER(FATTR_SEL_ITALIC        =#0001)
  134.     PARAMETER(FATTR_SEL_UNDERSCORE    =#0002)
  135.     PARAMETER(FATTR_SEL_STRIKEOUT     =#0010)
  136.     PARAMETER(FATTR_SEL_BOLD          =#0020)
  137.  
  138. C* values of fsType field of FATTRS structure
  139.     INTEGER*2 FATTR_TYPE_FIXED, FATTR_TYPE_KERNING
  140.  
  141.     PARAMETER(FATTR_TYPE_FIXED        =#0002)
  142.     PARAMETER(FATTR_TYPE_KERNING      =#0004)
  143.  
  144. C* values of fsFontUse field of FATTRS structure
  145.     INTEGER*2 FATTR_FONTUSE_NOMIX, FATTR_FONTUSE_OUTLINE, 
  146.      + FATTR_FONTUSE_TRANSFORMABLE
  147.  
  148.     PARAMETER(FATTR_FONTUSE_NOMIX         =#0002)
  149.     PARAMETER(FATTR_FONTUSE_OUTLINE       =#0004)
  150.     PARAMETER(FATTR_FONTUSE_TRANSFORMABLE =#0008)
  151. C* size for fields in the font structures
  152.  
  153.     INTEGER*4 FACESIZE
  154.     PARAMETER(FACESIZE =32)
  155.  
  156. C* font struct for Vio/GpiCreateLogFont
  157.  
  158.     STRUCTURE/FATTRS_/           ! fat
  159.        INTEGER*2 usRecordLength
  160.        INTEGER*2 fsSelection
  161.        INTEGER*4 lMatch
  162.        CHARACTER*(FACESIZE) szFacename
  163.        INTEGER*2 idRegistry
  164.        INTEGER*2 usCodePage
  165.        INTEGER*4 lMaxBaselineExt
  166.        INTEGER*4 lAveCharWidth
  167.        INTEGER*2 fsType
  168.        INTEGER*2 fsFontUse
  169.     END STRUCTURE
  170.  
  171. C* font metrics returned by GpiQueryFonts and others
  172.  
  173.     STRUCTURE/FONTMETRICS_/    ! fm
  174.        CHARACTER*(FACESIZE) szFamilyname
  175.        CHARACTER*(FACESIZE) szFacename
  176.        INTEGER*2 idRegistry
  177.        INTEGER*2 usCodePage
  178.        INTEGER*4 lEmHeight
  179.        INTEGER*4 lXHeight
  180.        INTEGER*4 lMaxAscender
  181.        INTEGER*4 lMaxDescender
  182.        INTEGER*4 lLowerCaseAscent
  183.        INTEGER*4 lLowerCaseDescent
  184.        INTEGER*4 lInternalLeading
  185.        INTEGER*4 lExternalLeading
  186.        INTEGER*4 lAveCharWidth
  187.        INTEGER*4 lMaxCharInc
  188.        INTEGER*4 lEmInc
  189.        INTEGER*4 lMaxBaselineExt
  190.        INTEGER*2 sCharSlope
  191.        INTEGER*2 sInlineDir
  192.        INTEGER*2 sCharRot
  193.        INTEGER*2 usWeightClass
  194.        INTEGER*2 usWidthClass
  195.        INTEGER*2 sXDeviceRes
  196.        INTEGER*2 sYDeviceRes
  197.        INTEGER*2 sFirstChar
  198.        INTEGER*2 sLastChar
  199.        INTEGER*2 sDefaultChar
  200.        INTEGER*2 sBreakChar
  201.        INTEGER*2 sNominalPointSize
  202.        INTEGER*2 sMinimumPointSize
  203.        INTEGER*2 sMaximumPointSize
  204.        INTEGER*2 fsType
  205.        INTEGER*2 fsDefn
  206.        INTEGER*2 fsSelection
  207.        INTEGER*2 fsCapabilities
  208.        INTEGER*4 lSubscriptXSize
  209.        INTEGER*4 lSubscriptYSize
  210.        INTEGER*4 lSubscriptXOffset
  211.        INTEGER*4 lSubscriptYOffset
  212.        INTEGER*4 lSuperscriptXSize
  213.        INTEGER*4 lSuperscriptYSize
  214.        INTEGER*4 lSuperscriptXOffset
  215.        INTEGER*4 lSuperscriptYOffset
  216.        INTEGER*4 lUnderscoreSize
  217.        INTEGER*4 lUnderscorePosition
  218.        INTEGER*4 lStrikeoutSize
  219.        INTEGER*4 lStrikeoutPosition
  220.        INTEGER*2 sKerningPairs
  221.        INTEGER*2 sReserved
  222.        INTEGER*4 lMatch
  223.     END STRUCTURE
  224.  
  225. C*** Common WIN types
  226.  
  227.     STRUCTURE/WRECT_/     ! wrc
  228.        INTEGER*2 xLeft
  229.        INTEGER*2 dummy1
  230.        INTEGER*2 yBottom
  231.        INTEGER*2 dummy2
  232.        INTEGER*2 xRight
  233.        INTEGER*2 dummy3
  234.        INTEGER*2 yTop
  235.        INTEGER*2 dummy4
  236.     END STRUCTURE
  237.  
  238.     STRUCTURE/WPOINT_/    ! wpt
  239.        INTEGER*2 x
  240.        INTEGER*2 dummy1
  241.        INTEGER*2 y
  242.        INTEGER*2 dummy2
  243.     END STRUCTURE
  244.