3.2 Structures D-F


DACPlayFlags

DACPlayFlags        record
    DACPF_CATENATE          :1
                            :7
DACPlayFlags        end

Library: sound.def


DACReferenceByte

DACReferenceByte        etype       word, 0, 1
    DACRB_NO_REFERENCE_BYTE     enum        DACReferenceByte
    DACRB_WITH_REFERENCE_BYTE   enum        DACReferenceByte

Library: sound.def


DACSampleFormat

DACSampleFormat     etype       word, 0, 1
    DACSF_8_BIT_PCM         enum        DACSampleFormat
    DACSF_2_TO_1_ADPCM      enum        DACSampleFormat
    DACSF_3_TO_1_ADPCM      enum        DACSampleFormat
    DACSF_4_TO_1_ADPCM      enum        DACSampleFormat

Library: sound.def


DateTimeFormat

DateTimeFormat      etype       word
    DTF_LONG                    enum    DateTimeFormat ; Sunday, March 5th, 1990
    DTF_LONG_CONDENSED          enum    DateTimeFormat ; Sun, Mar 5, 1990
    DTF_LONG_NO_WEEKDAY         enum    DateTimeFormat ; March 5th, 1990
    DTF_LONG_NO_WEEKDAY_CONDENSED enum  DateTimeFormat ; Mar 5, 1990
    DTF_SHORT                   enum    DateTimeFormat ; 3/5/90
    DTF_ZERO_PADDED_SHORT       enum    DateTimeFormat ; 03/05/90
    DTF_MD_LONG                 enum    DateTimeFormat ; Sunday, March 5th
    DTF_MD_LONG_NO_WEEKDAY      enum    DateTimeFormat ; March 5th
    DTF_MD_SHORT                enum    DateTimeFormat ; 3/5
    DTF_MY_LONG                 enum    DateTimeFormat ; March 1990
    DTF_MY_SHORT                enum    DateTimeFormat ; 3/90
    DTF_YEAR                    enum    DateTimeFormat ; 1990
    DTF_MONTH                   enum    DateTimeFormat ; March
    DTF_DAY                     enum    DateTimeFormat ; 5th
    DTF_WEEKDAY                 enum    DateTimeFormat ; Wednesday
        ;
    DTF_END_DATE_FORMATS        =   DateTimeFormat

    DTF_START_TIME_FORMATS      =   DateTimeFormat

    DTF_HMS                     enum    DateTimeFormat ; 1:05:31 PM
    DTF_HM                      enum    DateTimeFormat ; 1:05 PM
    DTF_H                       enum    DateTimeFormat ; 1 PM
    DTF_MS                      enum    DateTimeFormat ; 5:31
    DTF_HMS_24HOUR              enum    DateTimeFormat ; 13:05:31
    DTF_HM_24HOUR               enum    DateTimeFormat ; 13:05

    DTF_END_TIME_FORMATS        = DateTimeFormat

These date-time formats are generic. The examples shown to the right are for US based date-times only. In other countries, date-time formats may be substantially different.

Library: localize.def


DBaseItem

DBaseItem       struct
    DBI_group       word    ; The group in which the data resides.
    DBI_item        word    ; The item within that group.
DBaseItem       ends

This structure defines a dbase item.

Library: cell.def


DBGroupAndItem

DBGroupAndItem          struct
    DBGI_item       word
    DBGI_group      word
DBGroupAndItem          ends

Library: dbase.def


dbptr

dbptr   struct
    dbitem  word
    dbgroup word
dbptr   ends

Library: config.def


DCCFeatures

DCCFeatures     record
    DCCF_DROP_CAP       :1
DCCFeatures     end

These feature flags are used with ATTR_GEN_CONTROL_REQUIRE_UI and ATTR_GEN_CONTROL_PROHIBIT_UI.

Library: Objects/Text/tCtrlC.def


DCCToolboxFeatures

DCCToolboxFeatures      record
DCCToolboxFeatures      end

Library: Objects/Text/tCtrlC.def


DDFixed

DDFixed struct
    DDF_frac        dword
    DDF_int     sdword
DDFixed ends

This structure defines a 32 bit/32 bit fixed point number.

Library: geos.def


DebugObjDuplicateResourceInfo

DebugObjDuplicateResourceInfo   struct
    DODRI_tempOwner char    GEODE_NAME_SIZE dup(?)
    ; The permanent name of the geode owning the template that this block
    ; was duplicated from.
    DODRI_tempResource      word
    ; The handle of the template resource, unrelocated relative to the above.
DebugObjDuplicateResourceInfo   ends

Info used to allow the debugger to print symbolic information for objects in the block this object lies in. The EC version of ObjDuplicateResource, after duplicating an object block, finds the first object & adds this piece of vardata to it, thereby tagging the block for the debugger with info regarding where it came from. The data stored is the unrelocated library, and unrelocated resource within that library, so that the entry is valid across sessions. The debugger, when displaying info about an object in a block that doesn’t have a symbol, uses this to be able to show a reference like:

    ^h4020h:EditCopyTrigger

Library: metaC.def


DefaultFieldNameUsage

DefaultFieldNameUsage   etype   byte,   0
    DFNU_FIELD      enum    DefaultFieldNameUsage
    DFNU_COLUMN     enum    DefaultFieldNameUsage
    DFNU_FIXED      enum    DefaultFieldNameUsage

Library: impex.def


Dependency

Dependency      struct
    D_row           word        ; Row of the dependency.
    D_column        byte        ; Column of the dependency.
Dependency      ends

Library: parse.def


DependencyBlock

DependencyBlock     struct
    DB_size     word    ; Size of the block containing the dependency.
DependencyBlock     ends

Library: parse.def


DependencyListHeader

DependencyListHeader            struct
    DLH_next        dword   ; DBase item containing next block in the list.
DependencyListHeader            ends

DLH_next. The “next” link must come first in this structure. It must be at the same position as the cells dependency list header (which must also fall at the start of the cell data).

Library: parse.def


DependencyParameters

DependencyParameters            struct
    DP_common           CommonParameters <>
    ;
    ; Possible callbacks:
    ;   CT_CREATE_CELL, CT_EMPTY_CELL, CT_NAME_TO_CELL,
    ;   CT_FUNCTION_TO_TOKEN
    ;
    ;
    ; Everything else here is used exclusively by the dependency list code.
    ; Applications do not need to initialize it and should not depend on
    ; the values returned in this part of the stack frame.
    ;
    DP_dep          dword   ; Dbase item containing the dependency list.
    DP_prev         dword   ; Dbase item containing the previous block.
    DP_prevIsCell   byte    ; If non-zero, previous entry is the cell.
    DP_chunk        word    ; Chunk handle of the current dependency.
    align           word
DependencyParameters            ends

This structure is passed to the dependency code.

Library: parse.def


DerefFlags

DerefFlags      record
    DF_DONT_POP_ARGUMENT    :1      ; Set = don't pop arg from arg stack.
DerefFlags      end

Library: parse.def


DestinationClassArgs

DestinationClassArgs            struct
    DCA_class       fptr.ClassStruct
DestinationClassArgs            ends

Library: Objects/genC.def


DetachDataEntry

DetachDataEntry     struct
    DDE_ackCount        word
    DDE_callerID        word
    DDE_ackOD           optr
    DDE_completeMsg     word ; Message to send to itself when ackCount goes to zero.
DetachDataEntry     ends

Library: Objects/metaC.def


DevicePresent

DevicePresent       etype       word
    DP_NOT_PRESENT          enum        DevicePresent, 0xffff   
    DP_CANT_TELL            enum        DevicePresent, 0    
    DP_PRESENT              enum        DevicePresent, 1    
    DP_INVALID_DEVICE       enum        DevicePresent, 0xfffe

DP_NOT_PRESENT
Driver knows that a device is not present.

DP_CANT_TELL
Driver cannot determine if a device is present.

DP_PRESENT
Driver knows that a device is present.

DP_INVALID_DEVICE
An unknown device string was passed.

Library: driver.def


DirPathInfo

DirPathInfo     record
    DPI_EXISTS_LOCALLY          :1
    DPI_ENTRY_NUMBER_IN_PATH    :7
    DPI_STD_PATH                StandardPath:8
DirPathInfo     end

DPI_EXISTS_LOCALLY
File exists in directory under primary tree (usually a local directory, not a server-based one).

Library: file.def


DiskCopyCallback

DiskCopyCallback        etype       word, 0
    DCC_GET_SOURCE_DISK                 enum DiskCopyCallback
        ;   Desc:   prompt the user to insert the source disk.
        ;   Pass:
        ;       ax - DCC_GET_SOURCE_DISK
        ;       dl - 0 based drive number
        ;   Return:
        ;       ax = 0 to continue, non-0 to abort

    DCC_REPORT_NUM_SWAPS                enum DiskCopyCallback
        ;   Desc:   tell the user how many times to swap disks
        ;           in order to accomplish the copy.
        ;   Pass:
        ;       ax - DCC_REPORT_NUM_SWAPS
        ;       dx - number of swaps required
        ;   Return:
        ;       ax = 0 to continue, non-0 to abort

    DCC_GET_DEST_DISK                   enum DiskCopyCallback
        ;   Desc:   prompt the user to insert the destination disk.
        ;   Pass:
        ;       ax - DCC_GET_DEST_DISK
        ;       dl - 0 based drive number
        ;   Return:
        ;       ax = 0 to continue, non-0 to abort

    DCC_VERIFY_DEST_DESTRUCTION         enum DiskCopyCallback
        ;   Desc:   make sure the user really wants to biff the formatted disk
        ;           inserted as the destination.
        ;   Pass:
        ;       ax - DCC_VERIFY_DEST_DESTRUCTION
        ;       bx - disk handle of destination disk
        ;       dl - 0 based drive number
        ;   Return:
        ;       ax = 0 to continue, non-0 to abort

    DCC_REPORT_FORMAT_PCT               enum DiskCopyCallback
        ;   Desc:   During the formatting phase of the copy, report how much of
        ;           the format is complete.
        ;   Pass:
        ;       ax - DCC_REPORT_FORMAT_PCT
        ;       dx - percentage of destination disk formatted
        ;   Return:
        ;       ax = 0 to continue, non-0 to abort

    DCC_REPORT_READ_PCT                 enum DiskCopyCallback
        ;   Desc:   Report how much of the source disk has been read.
        ;   Pass:
        ;       ax - DCC_REPORT_READ_PCT
        ;       dx - percentage of source disk read
        ;   Return:
        ;       ax = 0 to continue, non-0 to abort

    DCC_REPORT_WRITE_PCT                enum DiskCopyCallback
        ;   Desc:   Report how much of the destination disk has been written.
        ;   Pass:
        ;       ax - DCC_REPORT_WRITE_PCT
        ;       dx - percentage of destination disk written
        ;   Return:
        ;       ax = 0 to continue, non-0 to abort

This type, when passed to the routine DiskCopy, specifies the type of callback operation to use with this routine.

Library: disk.def


DiskCopyError

DiskCopyError       etype       word, FormatError
    ERR_INVALID_SOURCE_DRIVE                            enum DiskCopyError
    ERR_INVALID_DEST_DRIVE                              enum DiskCopyError
    ERR_SOURCE_DRIVE_DOESNT_SUPPORT_DISK_COPY           enum DiskCopyError
    ERR_DEST_DRIVE_DOESNT_SUPPORT_DISK_COPY             enum DiskCopyError
    ERR_DRIVES_HOLD_DIFFERENT_FILESYSTEM_TYPES          enum DiskCopyError
    ERR_SOURCE_DISK_INCOMPATIBLE_WITH_DEST_DRIVE        enum DiskCopyError
    ERR_SOURCE_DISK_NOT_FORMATTED                       enum DiskCopyError
    ERR_COULD_NOT_REGISTER_FORMATTED_DESTINATION_DISK   enum DiskCopyError
    ERR_DISKCOPY_INSUFFICIENT_MEM                       enum DiskCopyError
    ERR_CANT_READ_FROM_SOURCE                           enum DiskCopyError
    ERR_CANT_WRITE_TO_DEST                              enum DiskCopyError
    ERR_OPERATION_CANCELLED                             enum DiskCopyError
    ERR_DISK_IS_IN_USE                                  enum DiskCopyError
    ERR_INVALID_SOURCE_DRIVE                            enum DiskCopyError

These enumerated types begin at the point where FormatError ends, so an error formatting the destination disk can be returned immediately without conversion.

ERR_INVALID_SOURCE_DRIVE
The passed source drive doesn’t exist.

ERR_INVALID_DEST_DRIVE
The passed destination drive doesn’t exist.

ERR_DRIVES_HOLD_DIFFERENT_FILESYSTEM_TYPES
The two drives are managed by different file system drivers, so a disk cannot be copied between the two with this function.

ERR_SOURCE_DISK_INCOMPATIBLE_WITH_DEST_DRIVE
The source disk is formatted in a manner that the destination drive does not support.

ERR_SOURCE_DISK_NOT_FORMATTED
The source disk was not properly formatted.

ERR_COULD_NOT_REGISTER_FORMATTED_DESTINATION_DISK
The copy operation attempted to register the source disk after prompting for it and the registration failed.

Library: disk.def


DiskCopyFlags

DiskCopyFlags           record
    DCF_GREEDY      :1
                    :7
DiskCopyFlags           end

DCF_GREEDY
If set, the copy operation will use as much memory as necessary and possible to minimize disk swaps. This flag is applicable only if source and destination drives are the same.

Library: disk.def


DiskFindResult

DiskFindResult      etype       word
    DFR_UNIQUE              enum    DiskFindResult
    DFR_NOT_UNIQUE          enum    DiskFindResult
    DFR_NOT_FOUND           enum    DiskFindResult

Library: disk.def


DiskFormatFlags

DiskFormatFlags     record
                                :13
    DFF_CALLBACK_PCT_DONE       :1
    DFF_CALLBACK_CYL_HEAD       :1
    DFF_FORCE_ERASE             :1
DiskFormatFlags     end

DFF_CALLBACK_PCT_DONE
This flag is set if the disk format should call the callback with the percent-complete of the operation.

DFF_CALLBACK_CYL_HEAD
This flag is set if the disk format should call the callback with the current cylinder and head.

DFF_FORCE_ERASE
This flag is set if we wish to force erasure of the entire disk.

Library: disk.def


DiskInfoStruct

DiskInfoStruct      struct
    DIS_blockSize   word    ; number of bytes in which file system allocations
                            ; are performed. Useful as an efficient
                            ; buffer size for disk transfers, with
                            ; certain restrictions.
    DIS_freeSpace   sdword  ; number of bytes free on the disk.
    DIS_totalSpace  sdword  ; number of bytes on the entire disk.
    DIS_name        char    VOLUME_BUFFER_SIZE dup(?)
DiskInfoStruct      ends

Library: disk.def


DiskRestoreError

DiskRestoreError        etype       word, 0, 1
    DRE_DISK_IN_DRIVE                       enum DiskRestoreError
         ;  This is the value returned by DiskRestore itself and the callback 
         ;  routine (if called at all) if the disk is in the drive.
         ;  In the callback's case, of course, it cannot be sure that the disk
         ;  is in the drive; it merely thinks it still is.
    DRE_DRIVE_NO_LONGER_EXISTS              enum DiskRestoreError
         ;  The drive in which the disk was registered no longer exists and the
         ;  file system driver either isn't loaded or couldn't restore the
         ;  drive.
    DRE_REMOVABLE_DRIVE_DOESNT_HOLD_DISK    enum DiskRestoreError
         ;  The disk was in a removable-media drive and that drive doesn't 
         ;  contain the disk.
    DRE_USER_CANCELED_RESTORE               enum DiskRestoreError
         ;  This type is solely for callback routines to use, as it implies the
         ;  user was asked, which DiskRestore will not do.
    DRE_COULDNT_CREATE_NEW_DISK_HANDLE      enum DiskRestoreError
         ;  The operation attempted to create the new disk handle after 
         ;  deciding the disk was in the drive, but had some difficulty finding
         ;  the disk name, etc.
    DRE_REMOVABLE_DRIVE_IS_BUSY             enum DiskRestoreError
         ;  The disk was in a removable-media drive that is currently marked
         ;  busy, so the system could neither confirm nor deny that it holds
         ;  the saved disk. Try again later.
    DRE_NOT_ATTACHED_TO_SERVER              enum DiskRestoreError
         ;  The disk was from a network server to which we are not logged in.
    DRE_PERMISSION_DENIED                   enum DiskRestoreError
         ;  The disk was on a network which is (now) denying access to it.
    DRE_ALL_DRIVES_USED                     enum DiskRestoreError
         ;  The disk was on a network volume that isn't mounted, but there is
         ;  no drive left to which it can be mapped.

Library: disk.def


DisplayAspectRatio

DisplayAspectRatio      etype       byte
    DAR_NORMAL              enum        DisplayAspectRatio  ;VGA, MCGA
    DAR_SQUISHED            enum        DisplayAspectRatio  ;EGA, HGCA
    DAR_VERY_SQUISHED       enum        DisplayAspectRatio  ;CGA

Library: win.def


DisplayClass

DisplayClass        etype       byte
    DC_TEXT     enum        DisplayClass    ;denotes that display is 
                                            ;character only (Not implemented)
    DC_GRAY_1   enum        DisplayClass    ;1 bit/pixel gray scale
    DC_GRAY_2   enum        DisplayClass    ;2 bit/pixel gray scale
    DC_GRAY_4   enum        DisplayClass    ;4 bit/pixel gray scale
    DC_GRAY_8   enum        DisplayClass    ;8 bit/pixel gray scale
    DC_COLOR_2  enum        DisplayClass    ;2 bit/pixel color index
    DC_COLOR_4  enum        DisplayClass    ;4 bit/pixel color index
    DC_COLOR_8  enum        DisplayClass    ;8 bit/pixel color index
    DC_CF_RGB   enum        DisplayClass    ;color with RGB values

Library: win.def


DisplayScheme

DisplayScheme       struct
    DS_colorScheme          ColorScheme     ;passed in al
    DS_displayType          DisplayType     ;passed in ah
    DS_unused               word            ;passed in bx
    DS_fontID               FontID          ;passed in cx
    DS_pointSize            sword           ;passed in dx
DisplayScheme       ends

DS_fontID & DS_pointSize are conveniently set up so they’ll be in registers cx:dx to conform to graphics routines.

Library: Objects/visC.def


DisplaySize

DisplaySize     etype       byte
    DS_TINY         enum    DisplaySize ;tiny screens: CGA, 256x320
    DS_STANDARD     enum    DisplaySize ;standard screens: EGA,VGA,HGC,MCGA
    DS_LARGE        enum    DisplaySize ;large screens: 800x600 SVGA
    DS_HUGE         enum    DisplaySize ;huge screens

Library: win.def


DisplayType

DisplayType     record
    DT_DISP_SIZE                DisplaySize:2
    DT_DISP_ASPECT_RATIO        DisplayAspectRatio:2
    DT_DISP_CLASS               DisplayClass:4
DisplayType     end

DT_DISP_SIZE
Size of display.

DT_DISP_ASPECT_RATIO
Aspect ratio of display.

DT_DISP_CLASS
Class of driver (or closest match).

Library: win.def


DistanceUnit

DistanceUnit        etype       byte
    DU_POINTS                   enum DistanceUnit
        ;U.S. points (72 per inch)
        ;Display format is "###.### pt"
        ;Entry format is "###.### pt"
    DU_INCHES                   enum DistanceUnit
        ;Display format is "##.### in"
        ;Entry format is "##.### in" or "##.###"" (double quotes = inches)
    DU_CENTIMETERS              enum DistanceUnit
        ;Display format is "###.### cm"
        ;Entry format is "###.### cm"
    DU_MILLIMETERS              enum DistanceUnit
        ;Display format is "###.### mm"
        ;Entry format is "###.### mm"
    DU_PICAS                    enum DistanceUnit                       ;U.S. picas (12 points)
        ;Display format is "###.### pi"
        ;Entry format is "###.### pi"
    DU_EUR_POINTS               enum DistanceUnit                       ;European points
        ;Display format is "###.### ep"
        ;Entry format is "###.### ep"
    DU_CICEROS                  enum DistanceUnit
        ;Display format is "###.### ci" (should fraction be in e points ???)
        ;Entry format is "###.### ci"
    DU_POINTS_OR_MILLIMETERS    enum DistanceUnit
        ;Depends on units for app
    DU_INCHES_OR_CENTIMETERS    enum DistanceUnit
        ;Depends on units for app

    LOCAL_DISTANCE_BUFFER_SIZE  = 32

Library: localize.def


DocQuitStatus

DocQuitStatus       etype       word
    DQS_OK              enum    DocQuitStatus
    DQS_CANCEL          enum    DocQuitStatus
    DQS_DELAYED         enum    DocQuitStatus
    DQS_SAVE_ERROR      enum    DocQuitStatus

Library: Objects/gDocGrpC.def


DocumentCommonParams

DocumentCommonParams            struct
    DCP_name            FileLongName
    DCP_diskHandle      word
    DCP_path            PathName
    DCP_docAttrs        GenDocumentAttrs
    DCP_flags           DocumentOpenFlags
    DCP_connection      IACPConnection  ; OPEN_DOC & SEARCH_FOR_DOC only: IACP
                                        ; connection that requested the open.
                                        ; 0 if open requested by the user.
DocumentCommonParams            ends

Not all of these flags are always needed, but they are all in one structure to simplify passing the flags around.

Library: Objects/gDocC.def


DocumentFileChangedParams

DocumentFileChangedParams               struct
    DFCP_name               FileLongName
    DFCP_diskHandle         hptr
    DFCP_path               PathName
    DFCP_display            optr
    DFCP_document           optr
DocumentFileChangedParams               ends

Library: Objects/gDocCtrl.def


DocumentOpenFlags

DocumentOpenFlags       record
    DOF_CREATE_FILE_IF_FILE_DOES_NOT_EXIST      :1
    DOF_FORCE_TEMPLATE_BEHAVIOR                 :1
    DOF_SAVE_AS_OVERWRITE_EXISTING_FILE         :1
    DOF_REOPEN                                  :1
    DOF_RAISE_APP_AND_DOC                       :1
    DOF_FORCE_REAL_EMPTY_DOCUMENT               :1
    DOF_OPEN_FOR_IACP_ONLY                      :1
    DOF_NO_ERROR_DIALOG :1                      :1
    DOF_NO_DOC_SEARCH                           :1
DocumentOpenFlags       end

Flags used for document OPEN operations:

DOF_CREATE_FILE_IF_FILE_DOES_NOT_EXIST
This bit controls behavior when the file to open does not exist. Setting this bit causes a new file to be created if this case.
DOF_FORCE_TEMPLATE_BEHAVIOR
Forces the document to be treated as a template

Flags used for document SAVE AS operations:

DOF_SAVE_AS_OVERWRITE_EXISTING_FILE
This bit controls behavior when the file to be Save As’d to exists. Setting this bit causes the file to be overwritten.
DOF_REOPEN
We are re-opening the file.

Flags used for document SEARCH_FOR_DOC operations:

DOF_RAISE_APP_AND_DOC
Raise the application & document to the top, too, regardless of non-zero nature of DCP_connection.

The following two fields are used when creating new documents.

DOF_FORCE_REAL_EMPTY_DOCUMENT
DOF_OPEN_FOR_IACP_ONLY
Set if document was opened for purpose of handling an IACP request only. If user opens in the meantime, this bit is cleared.

The following two fields are Internal, and you should try to ignore them.

DOF_NO_ERROR_DIALOG
Internal.
DOF_NO_DOC_SEARCH
Internal.

Library: Objects/gDocC.def


DosCodePage

DosCodePage     etype       word
    CODE_PAGE_US                enum        DosCodePage, 437
    CODE_PAGE_MULTILINGUAL      enum        DosCodePage, 850
    CODE_PAGE_MULTILINGUAL_EURO enum        DosCodePage, 858
    CODE_PAGE_PORTUGUESE        enum        DosCodePage, 860
    CODE_PAGE_CANADIAN_FRENCH   enum        DosCodePage, 863
    CODE_PAGE_NORDIC            enum        DosCodePage, 865
    CODE_PAGE_SJIS              enum        DosCodePage, 932

Library: localize.def


DosExecFlags

DosExecFlags        record
    DEF_PROMPT                  :1
    DEF_FORCED_SHUTDOWN         :1
    DEF_INTERACTIVE             :1
    DEF_INTERACTIVE             :1
    DEF_SWAP_EXEC               :1
    DEF_SWAP_TSR                :1
    DEF_MEM_REQ                 :1 
                                :2
DosExecFlags        end

DEF_PROMPT
Set if we want to prompt the user to strike a key to return to GEOS.

DEF_FORCED_SHUTDOWN
Set if we want to force the user to shutdown (cannot abort, program must be run).

DEF_INTERACTIVE
Set if program being run is interactive shell and we should change $PROMPT to tell the user to type “exit” to return to GEOS.

DEF_SWAP_EXEC
Set if GEOS should be swapped out instead of shutdown.

DEF_SWAP_TSR
Set if GEOS should swap itself out and TSR, without executing the program.

DEF_MEM_REQ
Set if a DosExecArgAndMemReqStruct is passed to DosExec in es:di instead of the argument string

Library: system.def


DosExecMemReq

DosExecMemReq   struct
    DEMR_minimum    word        ; minimum memory requirement
    DEMR_optimal    word        ; optimal memory requirement
DosExecMemReq   ends

Library:


DosExecMemReqsStruct

DosExecMemReqsStruct        struct
    DEMRS_tsr           BooleanByte     BB_FALSE    ; program is a TSR
    DEMRS_conventional  DosExecMemReq   <0,0>       ; conventional
    DEMRS_upper         DosExecMemReq   <0,0>       ; upper
    DEMRS_ems           DosExecMemReq   <0,0>       ; EMS
    DEMRS_xms           DosExecMemReq   <0,0>       ; XMS
    DEMRS_extended      DosExecMemReq   <0,0>       ; raw extended
DosExecMemReqsStruct        ends

Library:


DrawFlags

DrawFlags       record
    DF_EXPOSED              :1
    DF_OBJECT_SPECIFIC      :1
    DF_PRINT                :1
    DF_DONT_DRAW_CHILDREN   :1
    DF_DISPLAY_TYPE         DisplayClass:4
DrawFlags       end

DF_EXPOSED
Set if the current draw is the result of a MSG_META_EXPOSED being processed; if this is the case, we are in-between calls made to the window system of GrBeginUpdate and GrEndUpdate.

DF_OBJECT_SPECIFIC
This bit is used differently under different objects.

For scrolling list objects:

This flag is set if a composite which controls the drawing of its own children should not draw its children. i.e. the draw should act on only the composite itself.

For text objects:

This flag is used by the text object to draw all of its lines, not just the ones which aren’t masked out. This is used to get rotated text up on the screen.

DF_PRINT
This flag is set if the draw is a result of a MSG_META_EXPOSED_FOR_PRINT. If this bit is set then DF_EXPOSED will be set also.

DF_DONT_DRAW_CHILDREN
This flag is set if composites should not be drawing their children.

DF_DISPLAY_TYPE
This flag is set to DisplayClass (not DisplayType).

Library: Objects/visC.def


DrawMonikerFlags

DrawMonikerFlags        record
    DMF_TEXT_ONLY               :1
    DMF_UNDERLINE_ACCELERATOR   :1
    DMF_CLIP_TO_MAX_WIDTH       :1
    DMF_NONE                    :1
    DMF_Y_JUST                  Justification:2
    DMF_X_JUST                  Justification:2
DrawMonikerFlags        end

DMF_TEXT_ONLY
Set if we can only draw a text moniker on this object.

DMF_UNDERLINE_ACCELERATOR
Underlines accelerator key if set.

DMF_CLIP_TO_MAX_WIDTH
Causes the moniker to be clipped to its maximum width (passed elsewhere, if used).

DMF_NONE
TRUE to draw at current pen position.

DMF_Y_JUST
Vertical justification.

DMF_X_JUST
Horizontal justification.

Library: Objects/visC.def


DriveExtendedStatus

DriveExtendedStatus             record
    DES_LOCAL_ONLY      :1
    DES_READ_ONLY       :1
    DES_FORMATTABLE     :1
    DES_ALIAS           :1
    DES_BUSY            :1
    DES_EXTERNAL        DriveStatus:8
DriveExtendedStatus             end

DES_LOCAL_ONLY
Set if device cannot be viewed over a network.

DES_READ_ONLY
Set if device is read-only.

DES_FORMATTABLE
Set if disks can be formatted in the drive. If set, implies disks can be copied in the drive using DiskCopy.

DES_ALIAS
Set if drive is actually an alias for a path on another drive.

DES_BUSY
Set if drive will be busy for an extended period of time (e.g. when disk is being formatted).

DES_EXTERNAL
Externally-visible status flags.

Library: drive.def


DriverAttrs

DriverAttrs         record
    DA_FILE_SYSTEM              :1
    DA_CHARACTER                :1
    DA_HAS_EXTENDED_INFO        :1
                                :13
    DriverAttrs     end

DA_FILE_SYSTEM
Driver is used primarily for file access.

DA_CHARACTER
Driver is used primarily with character-oriented devices.

DA_HAS_EXTENDED_INFO
Driver has DriverExtendedInfo structure, with attendant mandatory functions.

Library: driver.def


DriverEscCode

DriverEscCode       etype   word, 8000h, 1
    DRV_ESC_QUERY_ESC   enum    DriverEscCode   ; query for escape cpde 
                                                ; support

Library: driver.def


DriverExtendedFunction

DriverExtendedFunction      etype   word, DriverFunction, 2
    DRE_TEST_DEVICE     enum    DriverExtendedFunction
    ;   PASS:       dx:si   = pointer to null-terminated device name string
    ;   RETURN:     ax  = DevicePresent
    ;               carry set if DP_INVALID_DEVICE, clear otherwise
    ;   DESTROYS:   di
    ;
    ;   This function tests the existence of a particular device the driver
    ;   supports.

    DRE_SET_DEVICE      enum    DriverExtendedFunction
    ;   PASS:       dx:si   = pointer to null-terminated device name string
    ;   RETURN:     nothing
    ;   DESTROYS:   di
    ;
    ;   This function informs the driver which of its many devices it is to
    ;   support.

Library: driver.def


DriverExtendedInfoStruct

DriverExtendedInfoStruct            struct
    DEIS_common             DriverInfoStruct
    DEIS_resource           hptr.DriverExtendedInfoTable
DriverExtendedInfoStruct            ends

This structure is used by preferences to locate the names of devices supported by a particular driver.

An extended driver is one that can handle multiple types of devices, identified by ASCII strings that the driver provides. The specific device to be supported is specified by a DRE_SET_DEVICE call after the driver is loaded.

DEIS_common stores the regular driver information within a DriverInfoStruct.

DEIS_resource stores the resource containing additional driver information. The resource must be sharable so other geodes can lock it down. It should also be read-only.The DriverExtendedInfoTable is stored in a separate resource to keep the amount of fixed memory required to a minimum.

Library: driver.def


DriverExtendedInfoTable

DriverExtendedInfoTable         struct
    DEIT_common             LMemBlockHeader
    DEIT_numDevices         word
    DEIT_nameTable          nptr.lptr.char
    DEIT_infoTable          nptr.word
DriverExtendedInfoTable         ends

DEIT_common stores the common LMem header info. Just use {} to define this field and Esp will skip this field when defining the structure.

DEIT_numDevices stores the number of device types supported by the driver

DEIT_nameTable stores the pointer to the table of DEIT_numDevices pointers to the device names themselves. As indicated by this being an nptr, the table and the names lie in this same resource.

DEIT_infoTable stores the pointer to the table of DEIT_numDevices, with extra words containing driver-specific data for each device. The type of data stored here is specified by the driver-type-specific interface .def file (e.g. mouseDriver.def).

Library: driver.def


DriverFunction

DriverFunction      etype       word, 0, 2
    DR_INIT             enum DriverFunction ;Initialize driver
    ;   PASS:   cx  = di passed to GeodeLoad. Garbage if loaded via
    ;            GeodeUseDriver
    ;           dx  = bp passed to GeodeLoad. Garbage if loaded via
    ;            GeodeUseDriver
    ;   RETURN: carry set if driver initialization failed. Driver will be
    ;           unloaded by the system.
    ;           carry clear if initialization successful.
    ;
    ;   DESTROYS:   bp, ds, es, ax, di, si, cx, dx
    ;

    DR_EXIT             enum DriverFunction ;Exit driver
    ;   PASS:       nothing
    ;   RETURN:     nothing
    ;   DESTROYS:   ax, bx, cx, dx, si, di, ds, es
    ;
    ;   NOTES:  If the driver has GA_SYSTEM set, the handler for this function
    ;       must be in fixed memory and may not use anything in movable
    ;       memory.

    DRIVER_SUSPEND_ERROR_BUFFER_SIZE     equ     128

    DR_SUSPEND          enum DriverFunction
    ;   SYNOPSIS:   Prepare the device for going into stasis while GEOS
    ;               is task-switched out. Typical actions include disabling
    ;               interrupts or returning to text-display mode.
    ;
    ;   PASS:       cx:dx   = buffer in which to place reason for refusal, if
    ;                suspension refused (DRIVER_SUSPEND_ERROR_BUFFER_SIZE
    ;                bytes long)
    ;   RETURN:     carry set if suspension refused:
    ;               cx:dx   = buffer filled with null-terminated reason,
    ;                standard GEOS character set.
    ;               carry clear if suspension approved
    ;   DESTROYS:   ax, di
    ;

DR_UNSUSPEND            enum DriverFunction
    ;   SYNOPSIS:   Reconnect to the device when GEOS is task-switched
    ;               back in.
    ;
    ;   PASS:       nothing
    ;   RETURN:     nothing
    ;   DESTROYS:   ax, di
    ;
    ; Protocol number for "DriverFunction" interface. All other driver protocols
    ; will be based on this number.
    ;
    DRIVER_PROTO_MAJOR          equ 2
    DRIVER_PROTO_MINOR          equ 0

Library: driver.def


DriverInfoStruct

DriverInfoStruct            struct
    DIS_strategy                fptr.far
    DIS_driverAttributes        DriverAttrs
    DIS_driverType              DriverType
    DriverInfoStruct        ends

This structure defines the characteristics of a particular driver. In general, applications will not need to access this structure unless they use a driver directly.

DIS_strategy stores the address of the strategy routine which calls the proper driver.

DIS_driverAttributes stores the device attributes for the driver.

DIS_driverType stores the type of driver (video, stream, printer, etc.).

Library: driver.def


DriverType

DriverType      etype       word, 1
    DRIVER_TYPE_VIDEO               enum        DriverType
    DRIVER_TYPE_INPUT               enum        DriverType
    DRIVER_TYPE_MASS_STORAGE        enum        DriverType
    DRIVER_TYPE_STREAM              enum        DriverType
    DRIVER_TYPE_FONT                enum        DriverType
    DRIVER_TYPE_OUTPUT              enum        DriverType
    DRIVER_TYPE_LOCALIZATION        enum        DriverType
    DRIVER_TYPE_FILE_SYSTEM         enum        DriverType
    DRIVER_TYPE_PRINTER             enum        DriverType
    DRIVER_TYPE_SWAP                enum        DriverType
    DRIVER_TYPE_POWER_MANAGEMENT    enum        DriverType
    DRIVER_TYPE_TASK_SWITCH         enum        DriverType
    DRIVER_TYPE_NETWORK             enum        DriverType
    DRIVER_TYPE_SOUND               enum        DriverType
    DRIVER_TYPE_PAGER               enum        DriverType
    DRIVER_TYPE_PCMCIA              enum        DriverType
    DRIVER_TYPE_FEP                 enum        DriverType

Library: driver.def


DriveStatus

DriveStatus     record
    DS_PRESENT          :1          ; Set if physical drive exists
    DS_MEDIA_REMOVABLE  :1          ; Set if disk can be removed from 
                                    ; the drive.
    DS_NETWORK          :1          ; Set if drive is on the network (or 
                                    ; accessed via network protocols), 
                                    ; so disk cannot be formatted or 
                                    ; copied.
                        :1
    DS_TYPE             DriveType:4 ; Type of drive
DriveStatus     end

Library: drive.def


DriveType

DriveType       etype       byte
    DRIVE_5_25          enum    DriveType
    DRIVE_3_5           enum    DriveType
    DRIVE_FIXED         enum    DriveType
    DRIVE_RAM           enum    DriveType
    DRIVE_CD_ROM        enum    DriveType
    DRIVE_8             enum    DriveType
    DRIVE_PCMCIA        enum    DriveType
    DRIVE_UNKNOWN       enum    DriveType, 0xf

Library: drive.def


DTCFeatures

DTCFeatures     record
    DTCF_LIST       :1
    DTCF_CUSTOM     :1
DTCFeatures     end

These features flags (used with ATTR_GEN_CONTROL_REQUIRE_UI and ATTR_GEN_CONTROL_PROHIBIT_UI).

Library: Objects/Text/tCtrlC.def


DTCToolboxFeatures

DTCToolboxFeatures      record
DTCToolboxFeatures      end

Library: Objects/Text/tCtrlC.def


DWFixed

DWFixed     struct
    DWF_frac        word
    DWF_int         sdword
DWFixed     ends

This structure stores a 32 bit/16 bit fixed point number.

Library: geos.def


ElementArrayHeader

ElementArrayHeader      struct
    EAH_meta        ChunkArrayHeader
    EAH_freePtr     word
ElementArrayHeader      ends

This structure must be at the front of every element array. Since element arrays are special kinds of chunk arrays, the ElementArrayHeader must itself begin with a ChunkArrayHeader.

EAH_meta stores the ChunkArrayHeader.

EAH_freePtr stores the first free element within the element array. Applications should not examine or change this field.

Library: chunkarr.def


EMCDetachData

EMCDetachData   struct
    EMCDD_ackEvent      hptr 
    EMCDD_childBlock    hptr 
EMCDetachData   ends

EMCDD_ackEvent
Recorded MSG_META_ACK that will be sent back by everyone on the EXPRESS_MENU_CHANGE list.

EMCDD_childBlock
Handle of child block to be freed when MSG_META_DETACH_COMPLETE comes in, saying that everyone who could possibly care has acknowledged the detach, so it’s safe to actually free the child block, which the GenControl object won’t do when it receives a MSG_META_DETACH.

Library: eMenuC.def


EMCFeatures

EMCFeatures     record
    EMCF_GEOS_TASKS_LIST        :1
    EMCF_DESK_ACCESSORY_LIST    :1
    EMCF_MAIN_APPS_LIST         :1
    EMCF_OTHER_APPS_LIST        :1
    EMCF_CONTROL_PANEL          :1
    EMCF_DOS_TASK_LIST          :1
    EMCF_UTILITIES              :1
    EMCF_EXIT_TO_DOS            :1
EMCFeatures     end

Library: eMenuC.def


EmptyRowBlock

EmptyRowBlock       struct
    ERB_header          LMemBlockHeader <>
    ERB_handles         word N_ROWS_PER_ROW_BLOCK dup (0)
EmptyRowBlock       ends

An empty row block is an LMem block with space for several handles.

Library: cell.def


EndCreatePassFlags

EndCreatePassFlags      record
    ECPF_ADJUSTED_CREATE                :1
EndCreatePassFlags      end

ECPF_ADJUSTED_CREATE
The UIFA_ADJUST flag was set in the START_SELECT operation that began the object creation.

Library: grobj.def


EndCreateReturnFlags

EndCreateReturnFlags            record
    ECRF_NOT_CREATING       :1      ;object was not in create mode.
    ECRF_DESTROYED          :1      ;object was destroyed
EndCreateReturnFlags            end

Library: grobj.def


EndOfSongFlags

EndOfSongFlags      record
    EOSF_UNLOCK             :1 = 0  ; unlock block at EOS?
    EOSF_DESTROY            :1 = 0  ; destroy sound at EOS?
                            :6
EndOfSongFlags      end

Library: sound.def


EnsureActiveFTPriorityPreferenceData

EnsureActiveFTPriorityPreferenceData    struct
    EAFTPPD_priority        word
    EAFTPPD_avoidOptr       optr
EnsureActiveFTPriorityPreferenceData    ends

Library:


EnsureNoMenusInStayUpModeParams

EnsureNoMenusInStayUpModeParams struc
    ENMISUMP_menuCount      word    ;Number of menus released so far
EnsureNoMenusInStayUpModeParams ends

Library: ui.def


EntryPointRelocation

EntryPointRelocation            struct
    EPR_geodeName           char GEODE_NAME_SIZE dup (?)
    EPR_entryNumber         word
EntryPointRelocation            ends

This structure is passed to ObjRelocateEntryPoint.

Library: object.def


EnvelopeOrientation

EnvelopeOrientation         etype       byte, 0, 1
    EO_PORTAIT                  enum            EnvelopeOrientation
    EO_LANDSCAPE                enum            EnvelopeOrientation

Library: print.def


ErrorCheckingFlags

ErrorCheckingFlags      record
    ECF_UNUSED_1:1 
    ECF_UNUSED_2:1 
    ECF_ANAL_VMEM:1
    ECF_FREE:1              ;Ensure that all free blocks are 0xcccc
    ECF_HIGH:1              ; lot of random extra checking (old NORMAL)
    ECF_LMEM:1              ;Internal lmem checking
    ECF_BLOCK_CHECKSUM:1    ;Checksum on a particular block
    ECF_GRAPHICS:1          ;Misc graphics stuff
    ECF_SEGMENT:1           ;Extensive segment checking
    ECF_NORMAL:1            ;Misc kernel error checking
    ECF_VMEM:1              ;VM file consistency
    ECF_APP:1               ;Application error checking (if implemented
                            ;by applications)
    ECF_LMEM_MOVE:1         ;Force lmem blocks to move whenever possible
    ECF_UNLOCK_MOVE:1       ;Force unlocked blocks to move
    ECF_VMEM_DISCARD:1      ;Force clean VM blocks to be discarded
ErrorCheckingFlags      end

Library: ec.def


EvalErrorData

EvalErrorData       struct
    EED_errorCode           ParserScannerEvaluatorError
EvalErrorData       ends

Library: parse.def


EvalFlags

EvalFlags       record
    EF_MAKE_DEPENDENCIES    :1  ; Make dependencies instead of 
                                ; recalculating
    EF_ONLY_NAMES           :1  ; Only name dependencies
    EF_KEEP_LAST_CELL       :1  ; Don't dereference the last cell
    EF_NO_NAMES             :1  ; Only non-name dependencies
    ;
    ; This flag is set inside the evaluator and shouldn't be used by
    ; applications.
    ;
    EF_ERROR_PUSHED         :1  ; Set: if an error was pushed on the arg 
                                ; stack
                            :3
EvalFlags       end

Library: parse.def


EvalFunctionData

EvalFunctionData        struct
    EFD_functionID          FunctionID  ; Function ID if a function
    EFD_nArgs               word        ; Number of arguments
EvalFunctionData        ends

Library: parse.def


EvalNameData

EvalNameData        struct
    END_name            word
EvalNameData        ends

Library: parse.def


EvalOperatorData

EvalOperatorData        struct
    EOD_opType      OperatorType            ; Type of operator
EvalOperatorData        ends

Library: parse.def


EvalParameters

EvalParameters      struct
    EP_common               CommonParameters <>
    ;
    ; Possible callbacks:
    ;   CT_LOCK_NAME, CT_LOCK_FUNCTION, CT_UNLOCK
    ;
    EP_flags                EvalFlags <>    ; Evaluator flags
    ;
    ; Everything below this point is initialized by the Evaluator.
    ;
    EP_fpStack              word            ; Floating point stack pointer
    EP_depHandle            word            ; Block handle of dependency block
    EP_nestedLevel          word            ; Levels of nesting

    EVAL_MAX_NESTED_LEVELS  = 32
    EP_nestedAddresses      dword EVAL_MAX_NESTED_LEVELS dup (?)
    align                   word
EvalParameters      ends

This structure provides information when the evaluator is invoked. This structure is passed in a stack frame.

Library: parse.def


EvalRangeData

EvalRangeData       struct
    ERD_firstCell           CellReference <>
    ERD_lastCell            CellReference <>
EvalRangeData       ends

Library: parse.def


EvalStackArgumentData

EvalStackArgumentData           union
    ESAD_string         EvalStringData
    ESAD_range          EvalRangeData
    ESAD_error          EvalErrorData
EvalStackArgumentData           end

Library: parse.def


EvalStackArgumentType

EvalStackArgumentType           record
    ESAT_EMPTY      :1          ; Set: Argument came from an empty cell
    ;
    ; Only one of the following will ever be set at a time for
    ; arguments on the evaluator argument stack.
    ;
    ESAT_ERROR      :1              ; Set: Argument is an error
    ESAT_RANGE      :1              ; Set: Argument is a range
    ESAT_STRING     :1              ; Set: Argument is a string
    ESAT_NUMBER     :1              ; Set: Argument is a number
                    :1
    ;
    ; Numbers have some possible sub-types
    ;
    ESAT_NUM_TYPE   NumberType:2    ; The type of the number
EvalStackArgumentType           end

Library: parse.def


EvalStackOperatorData

EvalStackOperatorData           union
    ESOD_operator           EvalOperatorData
    ESOD_function           EvalFunctionData
EvalStackOperatorData           end

Library: parse.def


EvalStackOperatorType

EvalStackOperatorType           etype       byte, 0, 1
    ESOT_OPERATOR           enum        EvalStackOperatorType
    ESOT_FUNCTION           enum        EvalStackOperatorType
    ESOT_OPEN_PAREN         enum        EvalStackOperatorType
    ESOT_TOP_OF_STACK       enum        EvalStackOperatorType

Library: parse.def


EvalStringData

EvalStringData          struct
    ESD_length      word    ; Length of the string. (String data follows.)
EvalStringData          ends

Library: parse.def


EvaluatePositionNotes

EvaluatePositionNotes       record
    EPN_PADDING                 :14
    EPN_SELECTION_LOCK_SET      :1  ;Object's selection lock is set.
    EPN_BLOCKS_LOWER_OBJECTS    :1  ;GrObj blocks, covers up or otherwise 
                                    ;completely obscures objects
                                    ;underneath it at the position
EvaluatePositionNotes       end

Library: grobj.def


EvaluatePositionRating

EvaluatePositionRating          etype       byte, 0
    EVALUATE_NONE               enum        EvaluatePositionRating
    EVALUATE_SUB_LOW            enum        EvaluatePositionRating
    EVALUATE_LOW                enum        EvaluatePositionRating
    EVALUATE_SUB_MEDIUM         enum        EvaluatePositionRating
    EVALUATE_MEDIUM             enum        EvaluatePositionRating
    EVALUATE_SUB_HIGH           enum        EvaluatePositionRating
    EVALUATE_HIGH               enum        EvaluatePositionRating

EVALUATE_NONE
Point is not interesting at all.

EVALUATE_SUB_LOW
This type is not currently used.

EVALUATE_LOW
Point is in a rectangle bounding an object.

EVALUATE_SUB_MEDIUM
This type is not currently used.

EVALUATE_MEDIUM
Point is inside an enclosed but not a filled object.

EVALUATE_SUB_HIGH
This type is not currently used.

EVALUATE_HIGH
Point is on a line or a filled - or partially filled - area.

Library: grobj.def


ExitFlags

ExitFlags       record
    EF_PANIC        :1  ; Set if the exit is unstable; in this case we 
                        ; choose not to write out the .ini file.
    EF_RUN_DOS      :1  ; Set if we should run a DOS program upon exit
    EF_OLD_EXIT     :1  ; Set if we should use old-style (int 20h) exit
                        ; call (if accidentally run under DOS 1.x).
    EF_RESET        :1  ; Set if we should reset the machine instead of
                        ; exiting.
    EF_RESTART      :1  ; Set if should reload GEOS at the end.
ExitFlags       end

Library: system.def


ExportControlAttrs

ExportControlAttrs      record
    ECA_IGNORE_INPUT        :1      ; ignore input while export occurs
                            :15
ExportControlAttrs      end

Library: impex.def


ExportControlFeatures

ExportControlFeatures       record
    EXPORTCF_EXPORT_TRIGGER :1  ; export trigger
    EXPORTCF_FORMAT_OPTIONS :1  ; export format UI parent, under which is 
                                ; placed any UI specific to the currently
                                ; selected format
    EXPORTCF_BASIC          :1  ; export file selector, export format list,
                                ; export file name, and export app UI parent,
                                ; under which is placed any UI specific to 
                                ; the app
    EXPORTCF_GLYPH          :1  ; glyph at top of export dialog box
ExportControlFeatures       end

These Feature flags are used with ATTR_GEN_CONTROL_REQUIRE_UI and ATTR_GEN_CONTROL_PROHIBIT_UI.

Library: impex.def


ExportControlToolboxFeatures

ExportControlToolboxFeatures                record
    EXPORTCTF_DIALOG_BOX                :1
ExportControlToolboxFeatures                end

Library: impex.def


ExtSelFlags

ExtSelFlags     record
    ESF_INITIAL_SELECTION       :1  ;set if initial selection -- will update
                                    ; all items between anchor and extent
    ESF_XOR_INDIVIDUAL_ITEMS    :1  ;whether xoring changed items. If
                                    ; clear, sets items within new 
                                    ; selection, clears others.
    ESF_CLEAR_UNSELECTED_ITEMS  :1  ;set to clear non-selected items.
    ESF_SELECT                  :1  ;set when items in the selection 
                                    ; should be turned on, rather than
                                    ; off.
                                :4
ExtSelFlags     end

Library: Objects/gItemGC.def


FACFeatures

FACFeatures         record
    FACF_FONT_WEIGHT            :1
    FACF_FONT_WIDTH             :1
    FACF_TRACK_KERNING          :1
FACFeatures         end

Library: Objects/Text/tCtrlC.def


FACToolboxFeatures

FACToolboxFeatures      record
FACToolboxFeatures      end

Library: Objects/Text/tCtrlC.def


FatalErrors

FatalErrors     etype   word, 0
    CAN_NOT_USE_CHUNKSIZEPTR_MACRO_ON_EMPTY_CHUNKS      enum FatalErrors
    CHUNK_ARRAY_BAD_ELEMENT                             enum FatalErrors
    MACRO_REQUIRES_FIXED_SIZE_ELEMENTS                  enum FatalErrors
    CANNOT_USE_DBCS_IN_THIS_VERSION                     enum FatalErrors
    ; Double Byte characters (DBCS) are not supported in this version of PC/GEOS

FatalErrors is an enumerated type into which named error codes are placed. The members placed in the type should be accessible to all modules of a patient or be assigned ranges by the programmer. That makes no difference to Swat. NOTE: definition must lie outside the StartKernel/EndKernel bounds if Swat is to receive the type unmolested.

FatalErrors are errors global to the entire system.

Library: ec.def


FCFeatures

FCFeatures      record
    FCF_SHORT_LIST          :1
    FCF_LONG_LIST           :1
FCFeatures      end

Library: Objects/Text/tCtrlC.def


FCToolboxFeatures

FCToolboxFeatures           record
    FCTF_TOOL_LIST      :1
FCToolboxFeatures           end

Library: Objects/Text/tCtrlC.def


FEDosInfo

FEDosInfo       struct
    FEDI_attributes     FileAttrs           ; file's attributes
    FEDI_modified       FileDateAndTime     ; file's modification timestamp
    FEDI_fileSize       dword               ; file's size in bytes
    FEDI_name           FileLongName        ; file's name and extension in 
                                            ; the form of a null terminated 
                                            ; string
    FEDI_pathInfo       DirPathInfo
FEDosInfo       ends

This structure is used with FileEnum.

Library: fileEnum.def


FENameAndAttr

FENameAndAttr       struct
    FENAA_attr          FileAttrs
    FENAA_name          FileLongName
FENameAndAttr       ends

This structure is used with FileEnum.

Library: fileEnum.def


FFA_stackFrame

FFA_stackFrame      union
    FFA_float               FloatFloatToAsciiData
    FFA_dateTime            FloatFloatToDateTimeData
FFA_stackFrame      end

Library: math.def


FFCFeatures

FFCFeatures     record
                                :14
    FCF_FORMAT_LIST             :1
    FCF_DEFINE_FORMATS          :1
FFCFeatures     end

Library: math.def


FieldBGFormatType

FieldBGFormatType       etype   word
    FBGFT_STANDARD_GSTRING              enum FieldBGFormatType
    ;Just a standard graphics string.
    FBGFT_BITMAP_SLICES                 enum FieldBGFormatType
    ;(Not currently supported)

Library: backgrnd.def


FieldInfo

FieldInfo       struct
    FI_nChars       word            ; Number of characters in the field
    FI_position     word            ; X position of field on line
    FI_width        word            ; Width of the field
    FI_tab          TabReference    ; Reference to a tab in the ruler
FieldInfo       ends

Library: text.def


FileAccess

FileAccess      etype   byte, 0
    FA_READ_ONLY            enum FileAccess
    FA_WRITE_ONLY           enum FileAccess
    FA_READ_WRITE           enum FileAccess

Library: file.def


FileAccessFlags

FileAccessFlags         record
                    :1=0,           ; Must be 0.
    FAF_EXCLUDE     FileExclude:3,  ; What others may not do.
                    :2=0,           ; Must be 0.
    FAF_MODE        FileAccess:2,   ; What caller wants to do.
FileAccessFlags         end

Library: file.def


FileAddStandardPathFlags

FileAddStandardPathFlags        record
                            :16
FileAddStandardPathFlags        end

Library:


FileAttrs

FileAttrs       record
    :1=0,
    FA_LINK     :1      ; File is a link
    FA_ARCHIVE  :1,     ; File requires backup (modified since FA_ARCHIVE
                        ; last cleared)
    FA_SUBDIR   :1,     ; File is actually a subdirectory
    FA_VOLUME   :1,     ; File is actually a volume label
    FA_SYSTEM   :1,     ; File is for the system (kernel, e.g.)
    FA_HIDDEN   :1,     ; File should not be seen by regular searches.
    FA_RDONLY   :1,     ; File may not be written
FileAttrs       end

Library: file.def


FileChangeBatchNotificationData

FileChangeBatchNotificationData                 struct
    FCBND_end           nptr
    FCBND_items         label FileChangeBatchNotificationItem
FileChangeBatchNotificationData                 ends

FCBND_end stores the ending offset of the array of FileChangeBatchNotificationItem structures.

Library: gcnlist.def


FileChangeBatchNotificationItem

FileChangeBatchNotificationItem                 struct
    FCBNI_type      FileChangeNotificationType
    FCBNI_disk      word
    FCBNI_id        FileID
    FCBNI_name      label FileLongName  ; Only present if required by FCBNI_type.
    FileChangeBatchNotificationItem             ends

Library: gcnlist.def


FileChangeNotificationData

FileChangeNotificationData              struct
    FCND_disk   word            ; handle for disk on which the change occurred
    FCND_id     FileID          ; 32-bit identifier for the directory in 
                                ; which the change occurred, or for the file 
                                ; to which the change occurred.
    FCND_name   FileLongName    ; For those notifications that require it, 
                                ; the virtual name of the file or directory
                                ; to which the change occurred.
FileChangeNotificationData              ends

Library: gcnlist.def


FileChangeNotificationType

FileChangeNotificationType              etype word
    FCNT_CREATE             enum FileChangeNotificationType
        ; File or directory created. FCND_id is the id of the containing
        ; directory. FCND_name is the name of the new file or directory.

    FCNT_RENAME             enum FileChangeNotificationType
        ; File or directory renamed. FCND_id is the identifier for the file 
        ; or directory, and FCND_name is its new name.

    FCNT_OPEN               enum FileChangeNotificationType
        ; A file has been closed. FCND_id is the 32-bit identifier for the
        ; file. FCND_name is undefined and may not be present. This is
        ; generated only if someone has called 
        ; FileEnableOpenCloseNotification.

    FCNT_DELETE             enum FileChangeNotificationType
        ; File or directory deleted. FCND_id is the 32-bit identifier for 
        ; the file or directory that was deleted. FCND_name is undefined and
        ; may not be present.

    FCNT_CONTENTS           enum FileChangeNotificationType
        ; File contents changed. This is sent only when FileCommit or 
        ; FileClose is called for a file and the file has been modified. 
        ; FCND_id is the 32-bit identifier for the affected file. FCND_name 
        ; is undefined and may not be present.

    FCNT_ATTRIBUTES         enum FileChangeNotificationType
        ; File attributes changed. This is sent once all changes have been
        ; made during a given FileSetAttributes, FileSetHandleExtAttributes,
        ; or FileSetPathExtAttributes call. FCND_id is the 32-bit identifier
        ; for the affected file. FCND_name is undefined and may not be 
        ; present.

    FCNT_DISK_FORMAT        enum FileChangeNotificationType
        ; A disk has been formatted. FCND_id and FCND_name are undefined and
        ; may not be present.

    FCNT_CLOSE              enum FileChangeNotificationType
        ; A file has been closed. FCND_id is the 32-bit identifier for the
        ; file. FCND_name is undefined and may not be present. This is
        ; generated only if someone has called 
        ; FileEnableOpenCloseNotification.

    FCNT_BATCH              enum FileChangeNotificationType
        ; The block is a FileChangeBatchNotificationData block, holding
        ; multiple notifications. Notifications are collected into a batch
        ; when a thread calls FileBatchChangeNotifications. All the
        ; notifications are sent when it calls FileFlushChangeNotifications.
        ; Any application performing a substantial number of changes to
        ; the file system (e.g. deleting a directory tree) should tell the
        ; system to batch its notifications and flush them when it's all    ; done. This will reduce the number of handles required to alert all
        ; interested parties to the changes.

Library: gcnlist.def


FileCreateFlags

FileCreateFlags     record
    FCF_NATIVE                  :1
    FCF_NATIVE_WITH_EXT_ATTRS   :1
                                :4
    FCF_MODE                    FileCreateMode:2
FileCreateFlags     end

FCF_NATIVE
Create file to be compatible with the file system on which it resides. This may mean that most extended attributes are not supported for the file, unless the file system itself supports them (which DOS file systems do not).

FCF_NATIVE_WITH_EXT_ATTRS
Create file with a name compatible with the file system on which it resides, but support extended attributes. The driver may place restrictions on what sort of name may be used, and will return ERROR_INVALID_NAME if the name passed falls beyond the pale.

FCF_MODE
How the file should be created.

Library: file.def


FileCreateMode

FileCreateMode      etype   byte, 0
    FILE_CREATE_TRUNCATE            enum FileCreateMode
    FILE_CREATE_NO_TRUNCATE         enum FileCreateMode
    FILE_CREATE_ONLY                enum FileCreateMode

Library: file.def


FileDate

FileDate        record
    FD_YEAR         :7,     ; year since 1980   
    FD_MONTH        :4,     ; month (1-12)
    FD_DAY          :5,     ; day of the month (1-31)
FileDate        end

Library: file.def


FileDateAndTime

FileDateAndTime     struct
    FDAT_date           FileDate
    FDAT_time           FileTime
FileDateAndTime     ends

Library: file.def

FileEnumCallbackData

FileEnumCallbackData            struct
    FECD_attrs      label FileExtAttrDesc
FileEnumCallbackData            ends

FECD_attrs stores the array of extended-attribute descriptors for the current file. The end of the array is signaled by a FileExtAttrDesc with FEA_END_OF_LIST in its FEAD_attr field. All the attribute values lie in the same segment as the FileEnumCallbackData, so their FEAD_value.segment will be ds unless the file doesn’t have that particular attribute, in which case FEAD_value.segment will be 0.

Library: fileEnum.def


FileEnumParams

FileEnumParams      struct
    FEP_searchFlags         FileEnumSearchFlags 0
    FEP_returnAttrs         fptr.FileExtAttrDesc 0
    FEP_returnSize          word 0
    FEP_matchAttrs          fptr.FileExtAttrDesc 0
    FEP_bufSize             word FE_BUFSIZE_UNLIMITED
    ;
    FE_BUFSIZE_UNLIMITED    equ 1   ; Value to pass in FEP_bufSize
                                    ; to place no limit on the
                                    ; number of files for which
                                    ; to return data.
    FEP_skipCount           word 0
    FEP_callback            fptr.far 0
    FEP_callbackAttrs       fptr.FileExtAttrDesc
    FEP_cbData1             dword 0
    FEP_cbData2             dword 0
    FEP_headerSize          word 0
    even
FileEnumParams      ends

FEP_searchFlags stores the flags to control the FileEnum search operation.

FEP_returnAttrs stores the array of attributes that are to be returned from the FileEnum operation. The entries in the returned buffer can be of an arbitrary size; the size is controlled by the FEP_returnSize parameter. Each extended attribute returned for a file that matches is copied into the entry at an offset given by the FEAD_value.offset for the attribute. The number of bytes copied cannot exceed the value of FEAD_size.

If the segment is 0, the offset is of type FileEnumStandardReturnType, specifying the attributes to be returned for a standard structure (as defined later in this file). FEP_returnSize should still be either the size of the appropriate structure, or larger if that structure has been incorporated into a larger one of your own. The standard return type FESRT_COUNT_ONLY exists so you receive no information about the files that match, just their number (in dx). One of FEP_bufSize or FEP_returnSize should be 0 in this case.

The last entry in the array has FEA_END_OF_LIST as its FEAD_attr.

FEP_returnSize stores the size of each entry in the returned buffer.

FEP_matchAttrs stores the array of attributes that are to be matched by FileEnum itself. For attributes that are records (and hence a word or smaller), FEAD_value.offset holds the bits that must be set in the attribute, while FEAD_value.segment holds the bits that must not be set in the attribute’s actual value. For all other attributes, FEAD_value is a pointer to the exact value to match. FEAD_size gives the size of that value.

The last entry in the array has FEA_END_OF_LIST as its FEAD_attr. If all the checks are to be performed by the callback, or if all files are desired, regardless of their attributes, FEP_matchAttrs.segment may be passed as 0. FEP_matchAttrs.offset may be anything in this case.

FEP_bufSize stores the number of structures that FEP_buffer can hold. This is used as the maximum number of files to find. The actual size of the buffer (in bytes) is determined by this and the FEP_returnType. If set to 0, the dx returned is a count of the matching files in the directory.

FEP_skipCount stores the number of matches to skip before storing matching entries in FEP_buffer. This can be used to make several passes through the files in a directory. Each pass will process the next X number of files in the directory:

FileEnum(skipCount=0, FEP_bufSize=20)
process(FEP_buffer)
FileEnum(skipCount=20, FEP_bufSize=20)
process(FEP_buffer)
FileEnum(skipCount=40, FEP_bufSize=20)
process(FEP_buffer)
FileEnum(skipCount=60, FEP_bufSize=20)
process(FEP_buffer)

This means that a buffer that only holds 20 files may be used as opposed to a buffer of unknown size which would otherwise be needed to hold return structures for all files in the directory.

Skip count optimization - if the FESF_REAL_SKIP bit is set, then this is the actual number of files to skip, matching or not. If FESF_REAL_SKIP is clear, FEP_skipCount is the number of matching files to skip. The real skip count is faster because the match condition does not need to be checked.

With FESF_REAL_SKIP set: When FileEnum returns after filling in FEP_bufSize number of matching entries, di will be updated to the real number of files passed through in order to get those FEP_bufSize files.

Starting with di at 0, FileEnum will increment di once for each file checked. When FileEnum returns, save di for the next time FileEnum is called.

FEP_callback stores the address of the callback routine to determine if the file should be accepted by FileEnum. The callback is performed after all regularly specified tests have accepted the file. Therefore, this callback routine is the last step when checking acceptance of the file.

Callback Routine Specifications:
Passed:

  • ds = segment of FileEnumCallbackData
  • bp = inherited stack frame, which must be passed to any FileEnum helper routines the callback calls.

The callback routine can look at the FileEnumStructure passed by using:

FooCallback proc far params:FileEnumParams 
enter inherit far

Return:

  • carry clear to accept file
  • carry set to reject file

Callback routine should destroy no registers and should not change passed structures. Only relevant if mask FESF_CALLBACK is set.

If FESF_CALLBACK is set and FEP_callback.segment is 0, FEP_callback.offset is a FileEnumStandardCallback. FEP_callbackAttrs is ignored in this case, as the system knows what extra attributes are required by each standard callback. See the description of each FESC_* constant to find what should be passed in FEP_cbData1 and FEP_cbData2.

FEP_callbackAttrs specifies an array of attributes the callback routine will need to examine if segment is non-zero, and FESF_CALLBACK is set in FEP_searchFlags. FileEnum will always pass the callback all attributes given in either the FEP_returnAttrs or FEP_matchAttrs array. This array is for attributes for which you can’t give an exact value (thus they can’t be in FEP_matchAttrs) and of which you don’t actually need to make a record (thus they can’t be in FEP_returnAttrs).

The last entry in the array has FEA_END_OF_LIST as its FEAD_attr. If no additional attributes are required when FESF_CALLBACK is set, FEP_callbackAttrs.segment must be zero.

FEP_cbData1 and FEP_cbData2 allow the caller of FileEnum to pass data to the callback routine.

FEP_headerSize stores the amount of space to leave at the start of the return block if FESF_LEAVE_HEADER set.

Library: fileEnum.def


FileEnumSearchFlags

FileEnumSearchFlags             record
    FESF_DIRS               :1  ; accept directories
    FESF_NON_GEOS           :1  ; accept non-GEOS files
    FESF_GEOS_EXECS         :1  ; accept GEOS executables
    FESF_GEOS_NON_EXECS     :1  ; accept GEOS non-executables (data files)
    FESF_REAL_SKIP          :1  ; use FEP_skipCount is real skip count
                                ; (see FileEnum for explanation)
    FESF_CALLBACK           :1  ; use FEP_callback field
    FESF_LOCK_CB_DATA       :1  ; for use in FileEnumPtr only; if set,
                                ; FEP_cbData1 and FEP_cbData2 are assumed
                                ; to be far pointers to movable or fixed
                                ; memory that must be locked before
                                ; FileEnum is called.
    FESF_LEAVE_HEADER       :1  ; if set, then FEP_headerSize indicates
                                ; number of bytes at the beginning of the
                                ; return block that should be left 0 by
                                ; FileEnum, to form a header to be filled
                                ; in by the caller.
FileEnumSearchFlags             end

Library: fileEnum.def


FileEnumStandardCallback

FileEnumStandardCallback            etype       word, 0
    FESC_WILDCARD           enum    FileEnumStandardCallback
        ;FEP_cbData1 is a far pointer to a null-terminated string 
        ;containing a virtual filename, with the special characters * and ?
        ;interpreted as meaning 0-or-more-of-any-character and 
        ;any-character, respectively.
        ;
        ;Note that the match occurs in the virtual namespace, so "*.*" will
        ;not match all files, as it will in standard DOS, but rather all
        ;files that have a . in their virtual name.
        ;
        ;FEP_cbData2.low should be non-zero to perform the match in a
        ;case-insensitive fashion, or zero to be case-sensitive.

Library: fileEnum.def


FileEnumStandardReturnType

FileEnumStandardReturnType              etype word, 0
    FESRT_COUNT_ONLY                enum FileEnumStandardReturnType
    FESRT_DOS_INFO                  enum FileEnumStandardReturnType
    FESRT_NAME                      enum FileEnumStandardReturnType
    FESRT_NAME_AND_ATTR             enum FileEnumStandardReturnType

Library: fileEnum.def


FileError

FileError       etype word
    ERROR_UNSUPPORTED_FUNCTION      enum FileError, 1   ;MS-DOS error
    ERROR_FILE_NOT_FOUND            enum FileError, 2   ;MS-DOS error
    ERROR_PATH_NOT_FOUND            enum FileError, 3   ;MS-DOS error
    ERROR_TOO_MANY_OPEN_FILES       enum FileError, 4   ;MS-DOS error
    ERROR_ACCESS_DENIED             enum FileError, 5   ;MS-DOS error
    ERROR_INSUFFICIENT_MEMORY       enum FileError, 8   ;MS-DOS & FileEnum error
    ERROR_INVALID_DRIVE             enum FileError, 15  ;MS-DOS error
    ERROR_IS_CURRENT_DIRECTORY      enum FileError, 16  ;MS-DOS error
    ERROR_DIFFERENT_DEVICE          enum FileError, 17  ;MS-DOS error
    ERROR_NO_MORE_FILES             enum FileError, 18  ;MS-DOS error
    ERROR_WRITE_PROTECTED           enum FileError, 19  ;MS-DOS critical error
    ERROR_UNKNOWN_VOLUME            enum FileError, 20  ;MS-DOS critical error
    ERROR_DRIVE_NOT_READY           enum FileError, 21  ;MS-DOS critical error
    ERROR_CRC_ERROR                 enum FileError, 23  ;MS-DOS critical error
    ERROR_SEEK_ERROR                enum FileError, 25  ;MS-DOS critical error
    ERROR_UNKNOWN_MEDIA             enum FileError, 26  ;MS-DOS critical error
    ERROR_SECTOR_NOT_FOUND          enum FileError, 27  ;MS-DOS critical error
    ERROR_WRITE_FAULT               enum FileError, 29  ;MS-DOS critical error
    ERROR_READ_FAULT                enum FileError, 30  ;MS-DOS critical error
    ERROR_GENERAL_FAILURE           enum FileError, 31  ;MS-DOS critical error
    ERROR_SHARING_VIOLATION         enum FileError, 32  ;
    ERROR_ALREADY_LOCKED            enum FileError, 33  ;'share.exe' error
    ERROR_SHARING_OVERFLOW          enum FileError, 36  ;'share.exe' error
    ERROR_NETWORK_CONNECTION_BROKEN enum FileError, 55
    ERROR_NETWORK_ACCESS_DENIED     enum FileError, 65
    ERROR_NETWORK_NOT_LOGGED_IN     enum FileError, 78
    ERROR_SHORT_READ_WRITE          enum FileError, 128 ;PC GEOS error
    ERROR_INVALID_NAME              enum FileError, 129 ;PC GEOS error
    ERROR_FILE_EXISTS               enum FileError, 130
    ERROR_DOS_EXEC_IN_PROGRESS      enum FileError, 131; DosExec
    ERROR_FILE_IN_USE               enum FileError, 132
    ERROR_ARGS_TOO_LONG             enum FileError, 133 ;DosExec
    ERROR_DISK_UNAVAILABLE          enum FileError, 134 ;Validation of disk in 
                                        ;drive aborted by user.
    ERROR_DISK_STALE                enum FileError, 135 ;Drive disk was on has been
                                        ;removed.
    ERROR_FILE_FORMAT_MISMATCH      enum FileError, 136 ;Attempted to create a file
                                        ;with FILE_CREATE_TRUNCATE or
                                        ;FILE_CREATE_NO_TRUNCATE and its 
                                        ;current state doesn't match that 
                                        ;desired by the FCF_NATIVE flag.
    ERROR_CANNOT_MAP_NAME           enum FileError, 137 ;file system driver was 
                                        ;unable to map the virtual 32-char
                                        ;name to a suitable name appropriate to 
                                        ;the file system.
    ERROR_DIRECTORY_NOT_EMPTY       enum FileError, 138 ;Attempted to delete a 
                                        ;directory that still contained files.
    ERROR_ATTR_NOT_SUPPORTED        enum FileError, 139 ;Requested an extended 
                                        ;attribute that is not supported by the
                                        ;file system or the file.
    ERROR_ATTR_NOT_FOUND            enum FileError, 140 ;Requested an extended 
                                        ;attribute that is not present for the
                                        ;file.
    ERROR_ATTR_SIZE_MISMATCH        enum FileError, 141 ;Requested an attribute 
                                        ;without providing the correct amount of
                                        ;space/data to get/set it.
    ERROR_ATTR_CANNOT_BE_SET        enum FileError, 142 ;Attempted to set an 
                                        ; extended attribute that cannot be set:
                                        ;       FEA_SIZE
                                        ;       FEA_NAME
                                        ;       FEA_DOS_NAME
                                        ;       FEA_GEODE_ATTRS
                                        ;       FEA_PATH_INFO
                                        ;       FEA_FILE_ID
    ERROR_CANNOT_MOVE_DIRECTORY     enum FileError, 143;file system doesn't support
                                        ; moving of directories in
                                        ; FileMove, and PC/GEOS doesn't
                                        ; provide the functionality
                                        ; itself.
    ERROR_PATH_TOO_LONG             enum FileError, 144 ;Attempted to create a 
                                        ;directory that would be unreachable,
                                        ; owing to path-length
                                        ; restrictions of the file system
    ERROR_ARGS_INVALID              enum FileError, 145 ;DosExec: argument string
                                        ; contained a character that
                                        ; could not be mapped to the
                                        ; current DOS character set.
    ERROR_CANNOT_FIND_COMMAND_INTERPRETER enum FileError, 146
                                        ;DosExec: program to run is a
                                        ; batch file, but system was
                                        ; unable to locate the command
                                        ; interpreter (COMMAND.COM) to
                                        ; run the command.
    ERROR_NO_TASK_DRIVER_LOADED     enum FileError, 147 
                                        ;DosExec: cannot run a DOS program as 
                                        ; no task-switching driver was loaded.
    ERROR_LINK_ENCOUNTERED          enum FileError, 148
                                        ; A link was encountered and needs to 
                                        ; be traversed
    ERROR_NOT_A_LINK                enum FileError, 149 
                                        ; A link function was called on a file 
                                        ; that's not a link.
    ERROR_TOO_MANY_LINKS            enum FileError, 150 
                                        ; A path contains too many links. Most 
                                        ; likely, one of the elements of the path
                                        ; is a link to itself.

Library: file.def


FileExclude

FileExclude     etype   byte, 0
    FE_COMPAT           enum FileExclude
    FE_EXCLUSIVE        enum FileExclude
    FE_DENY_WRITE       enum FileExclude
    FE_DENY_READ        enum FileExclude
    FE_NONE             enum FileExclude

Library: file.def


FileExtAttrDesc

FileExtAttrDesc     struct
    FEAD_attr           FileExtendedAttribute
    FEAD_value          fptr
    FEAD_size           word
    FEAD_name           fptr.char
FileExtAttrDesc     ends

This structure stores a description of extended attributes that should be changed to reflect new values.

FEAD_attr stores the FileExtendedAttribute that is to be altered (or FEA_CUSTOM to alter a custom attribute). FEAD_value stores the pointer to a buffer containing the new value.

FEAD_size stores the size of that buffer.

FEAD_name stores the pointer to a null-terminated ASCII name of an attribute if the attribute is a custom one (FEA_CUSTOM).

FileEnum can be passed arrays of FileExtAttrDesc structures. In this case, the number of elements in the array is not passed; the last element should have its FEAD_attr field set to FEA_END_OF_LIST.

Library: file.def


FileExtendedAttribute

FileExtendedAttribute           etype word, 0
    FEA_MODIFICATION enum FileExtendedAttribute ; FileDateAndTime
    FEA_FILE_ATTR   enum FileExtendedAttribute  ; FileAttrs
    FEA_SIZE        enum FileExtendedAttribute  ; dword
    FEA_FILE_TYPE   enum FileExtendedAttribute  ; GeosFileType
    FEA_FLAGS       enum FileExtendedAttribute  ; GeosFileHeaderFlags
    FEA_RELEASE     enum FileExtendedAttribute  ; ReleaseNumber
    FEA_PROTOCOL    enum FileExtendedAttribute  ; ProtocolNumber
    FEA_TOKEN       enum FileExtendedAttribute  ; GeodeToken
    FEA_CREATOR     enum FileExtendedAttribute  ; GeodeToken
    FEA_USER_NOTES  enum FileExtendedAttribute  ; char array
                                                ; FileUserNotes
    FEA_NOTICE      enum FileExtendedAttribute  ; char array
                                                ; FileCopyrightNotice
    FEA_CREATION    enum FileExtendedAttribute  ; FileDateAndTime
    FEA_PASSWORD    enum FileExtendedAttribute  ; char array
                                                ; FilePassword
    FEA_CUSTOM      enum FileExtendedAttribute  ; ?
    FEA_NAME        enum FileExtendedAttribute  ; char array
                                                ; (FileLongName)
    FEA_GEODE_ATTR  enum FileExtendedAttribute  ; GeodeAttrs. a hack
                                                ; for FileEnum...
    FEA_PATH_INFO   enum FileExtendedAttribute  ; DirPathInfo. a hack
                                                ; for FileEnum...
    FEA_FILE_ID     enum FileExtendedAttribute  ; 32-bit ID of
                                                ; file
    FEA_DESKTOP_INFO enum FileExtendedAttribute ; FileDesktopInfo
    FEA_DRIVE_STATUS enum FileExtendedAttribute ; DriveExtendedStatus
    FEA_DISK        enum FileExtendedAttribute  ; Disk handle
    ;
    ; these next are supported only by some file systems and are intended for
    ; specialized use (e.g. a desktop program) not for most applications.
    ;
    FEA_DOS_NAME    enum FileExtendedAttribute  ; actual DOS name of
                                                ;the file, if it's on 
                                                ;a DOS file system. 
                                                ;8.3. name in DOS 
                                                ;character set
    FEA_OWNER       enum FileExtendedAttribute  ; null-terminated name
                                                ; of owner of the file.
                                                ; FileOwnerName
    FEA_RIGHTS      enum FileExtendedAttribute  ; null-terminated
                                                ; description of access
                                                ; rights to the file.
                                                ; FileAccessRights
    FEA_LAST_VALID  equ FileExtendedAttribute-1
    FEA_MULTIPLE    enum FileExtendedAttribute,-2 ; Special value for
                                                ; FileGetExtAttr and
                                                ; FileSetExtAttr to
                                                ; get/set multiple
                                                ; attributes for a
                                                ; file.
    FEA_END_OF_LIST enum FileExtendedAttribute,-1; Marker for the last
                                                ; entry in an array of
                                                ; FileExtAttrDesc
                                                ; structures

Library: file.def


FileOpenAndReadFlags

FileOpenAndReadFlags            record
    ; These three flags are processed in order:

    FOARF_ADD_CRLF:1
    ; Append a CR/LF to the buffer, unless the buffer already ends
    ; with a CR/LF.

    FOARF_ADD_EOF:1
    ; Append an MSDOS_TEXT_FILE_EOF to the buffer.

    FOARF_NULL_TERMINATE:1
    ; null-terminate the buffer.

    :6
    FOARF_ACCESS FileAccessFlags:7
FileOpenAndReadFlags            end

Library: file.def


FilePathID

FilePathID      struct
    FPID_disk           word        ; disk handle
    FPID_id             FileID      ; ID for path on that disk.
FilePathID      ends

These structures act as elements of arrays returned by FileGetCurrentPathIDs.

Library: file.def


FilePosMode

FilePosMode     etype   byte, 0
    FILE_POS_START              enum FilePosMode
    FILE_POS_RELATIVE           enum FilePosMode
    FILE_POS_END                enum FilePosMode

Library: file.def


FileSelectorAttrs

FileSelectorAttrs           record
    FSA_ALLOW_CHANGE_DIRS           :1
                :1
    FSA_SHOW_FIXED_DISKS_ONLY       :1
    FSA_SHOW_FILES_DISABLED         :1
    FSA_HAS_CLOSE_DIR_BUTTON        :1
    FSA_HAS_OPEN_DIR_BUTTON         :1
    FSA_HAS_DOCUMENT_BUTTON         :1
    FSA_HAS_CHANGE_DIRECTORY_LIST   :1
    FSA_HAS_CHANGE_DRIVE_LIST       :1
    FSA_HAS_FILE_LIST               :1
    FSA_USE_VIRTUAL_ROOT            :1
                                    :5
FileSelectorAttrs           end

FSA_ALLOW_CHANGE_DIRS
Allows changing to different directories. If not set, directories are not opened automatically when the user double-clicks on them. It is up to the application to send MSG_FILE_SELECTOR_OPEN_ENTRY to the GenFileSelector.

FSA_SHOW_FIXED_DISKS_ONLY
Show only fixed disks in the volume existing.

FSA_SHOW_FILES_DISABLED
When showing a file, don’t allow the user to select it; useful for Save As operations.

FSA_HAS_CLOSE_DIR_BUTTON
Set if the corresponding gadget.

FSA_HAS_OPEN_DIR_BUTTON
Appear in the file selector

FSA_HAS_DOCUMENT_BUTTON

FSA_HAS_CHANGE_DIRECTORY_LIST

FSA_HAS_CHANGE_DRIVE_LIST

FSA_HAS_FILE_LIST

FSA_USE_VIRTUAL_ROOT
Set if information in ATTR_GEN_FILE_SELECTOR_VIRTUAL_ROOT should be used (allows turning on and off ‘virtual root’ feature without changing variable data).

Library: Objects/gFSelC.def


FileSelectorFileCriteria

FileSelectorFileCriteria            record
    ;
    ; Types of files to include in the listing
    ; 
    FSFC_DIRS                   :1      ; include directories
    FSFC_NON_GEOS_FILES         :1      ; include non-GEOS files
    FSFC_GEOS_EXECUTABLES       :1      ; include GEOS executables
    FSFC_GEOS_NON_EXECUTABLES   :1      ; include GEOS non-executables
    ;
    ; for files and (if FSFC_USE_MASK_FOR_DIRS is set) directories
    ;
    FSFC_MASK_CASE_SENSITIVE    :1
    ;
    ; for all files (FSFC_NON_GEOS_FILES and/or FSFC_GEOS_EXECUTABLESS
    ;   and/or FSFC_GEOS_NON_EXECUTABLES)
    ;
    FSFC_FILE_FILTER            :1
    FSFC_FILTER_IS_C            :1
    ;
    ; for GEOS files (FSFC_GEOS_EXECS_FILES and/or
    ;   FSFC_GEOS_NON_EXECUTABLES)
    ;
    FSFC_TOKEN_NO_ID            :1
    ;
    ; for directories (FSFC_DIRS)
    ;
    FSFC_USE_MASK_FOR_DIRS      :1
                                :7
FileSelectorFileCriteria            end

This record defines the file selection criteria of a GenFileSelector. This information is stored in the file selector’s GFSI_fileCriteria instance field.

FSFC_MASK_CASE_INSENSITIVE
Match files against the mask in a case-insensitive manner.

FSFC_FILE_FILTER
Use the filter routine in addition to evaluating each file accepted by other selection criteria.

FSFC_FILTER_IS_C
The filter routine returned by MSG_GEN_FILE_SELECTOR_GET_FILTER_ROUTINE is written in C and obeys the Pascal calling convention.

FSFC_TOKEN_NO_ID
Ignore manufacturer ID when comparing tokens (for FSFC_TOKEN_MATCH and FSFC_CREATOR_MATCH).

FSFC_USE_MASK_FOR_DIRS
Also use ATTR_GEN_FILE_SELECTOR_NAME_MASK attribute for directories. (This ATTR is normally applied only to files.)

Library: Objects/gFSelC.def


FileTime

FileTime            record
    FT_HOUR     :5,     ; hour (24-hour clock)
    FT_MIN      :6,     ; minute (0-59)
    FT_2SEC     :5,     ; 2-second (0-29 giving 0-58 seconds, even 
                        ;seconds only)
FileTime            end

Library: file.def


FindNoteHeader

FindNoteHeader      struct
    FNH_count   word            ; The number of matching notes.
    FNH_data    label dword
FindNoteHeader      ends

Library: pen.def


FloatAsciiToFloatFlags

FloatAsciiToFloatFlags          record
                            :6
    FAF_PUSH_RESULT         :1
    FAF_STORE_NUMBER        :1
FloatAsciiToFloatFlags          end

This record is used by the FloatFloatToAscii routine. This routine converts ASCII text into a floating point (FP) number.

FAF_PUSH_RESULT
This flag specifies that the resulting FP number should be pushed onto the FP stack.

FAF_STORE_NUMBER
This flag specifies that the resulting FP number should be stored in the buffer passed in FloatFloatToAscii.

Library: math.def


FloatCtrlInfoStruc

FloatCtrlInfoStruc          struc
    ;
    ; passed values
    ;
    FCIS_listEntryNum           word
    FCIS_fmtToken               word
    FCIS_listOD                 dword
    FCIS_fmtArrayHan            word
    FCIS_fmtArraySeg            word
    ;
    ; returned values
    ;
FCIS_fmtParamsHan               word
FloatCtrlInfoStruc          ends

FCIS_listEntryNum stores the zero-based position of the format entry to retrieve in the Float Format controller.

FCIS_fmtToken stores the token of the format entry to retrieve in the Float Format controller.

FCIS_listOD stores the optr of the dynamic list within the Float Format controller. This list stores the format entry names.

FCIS_fmtArrayHan stores the VM file handle of the array storing user-defined formats. This handle must be passed to all routines that operate on formats even if they do not directly access this format array (i.e. even if there are no user-defined formats).

FCIS_fmtArraySeg stores the VM block handle of the array storing user-defined formats. This segment must be passed to all routines that operate on formats even if they do not directly access this format array.

FCIS_fmtParamsHan stores the handle to a FormatParams structure returned by the routine.

Library: math.def


FloatErrorType

FloatErrorType      etype   byte, FLOAT_ERROR_CODES_ENUM_START, 1
    FLOAT_POS_INFINITY              enum FloatErrorType
    FLOAT_NEG_INFINITY              enum FloatErrorType
    FLOAT_GEN_ERR                   enum FloatErrorType

Library: math.def


FloatExponent

FloatExponent           record
    FE_SIGN         :1      ; set if number is negative
    FE_EXPONENT     :15     ; the exponent is biased by 3fffh
FloatExponent           end

This record defines the high word of a GEOS 80 bit FP number. This high word stores the sign (FE_SIGN) and a 15 bit exponent (FE_EXPONENT).

You can check if the FP number has overflowed or underflowed by checking FE_EXPONENT against FP_NAN.

Library: math.def


FloatFloatToAsciiData

FloatFloatToAsciiData           struct
    ;
    ; Fields for caller to set up. All fields must be initialized.
    ;
    FFA_params              FloatFloatToAsciiParams
    ;
    ; Possibly useful information returned by FloatFloatToAscii.
    ;
    FFA_startNumber         word
    FFA_decimalPoint        word
    FFA_endNumber           word
    FFA_numChars            word
    FFA_startExponent       word
    FFA_bufSize             word        ;internal use only
    FFA_saveDI              word        ;internal use only
    FFA_numSign             word        ;internal use only
    FFA_startSigCount       byte        ;internal use only
    FFA_sigCount            byte        ;internal use only
    FFA_noMoreSigInfo       byte        ;internal use only
    FFA_startDecCount       byte        ;internal use only
    FFA_decCount            byte        ;internal use only
    FFA_decExponent         word        ;internal use only
    FFA_curExponent         word        ;internal use only
    FFA_useCommas           byte        ;internal use only
    FFA_charsToComma        byte        ;internal use only
    FFA_commaChar           char        ;internal use only
    FFA_decimalChar         char        ;internal use only
FloatFloatToAsciiData           ends

This structure contains the FloatFloatToAsciiParams and some fields for internal use. This structure exists as a member of the FFA_stackFrame union.

FFA_params must be set up by the caller. All fields in that structure must be initialized.

FFA_startNumber returns the offset to the start of numeric characters. (This field is set by FloatFloatToAscii::FloatDoPreNumeric.)

FFA_decimalPoint returns the offset to the decimal point (0 if there is no decimal point). (This field is set by FloatFloatToAscii::StuffDecimalPoint.)

FFA_endNumber stores the offset to the end of numeric characters. (This field is set by FloatFloatToAscii:FloatDoPostNumeric.)

FFA_numChars stores the total number of characters in the ASCII string excluding the null terminator, or 0 if there was an error. (This field is set by FloatFloatToAscii in two locations.)

FFA_startExponent stores the offset to the “E” character in an exponentiated numeric value, or 0 if there is no exponent. Applications can check this to see if the exponent format was used.

Library: math.def


FloatFloatToAsciiFormatFlags

FloatFloatToAsciiFormatFlags                record
    FFAF_FLOAT_RESERVED                 :1
    FFAF_FROM_ADDR                      :1
                                        :4
    FFAF_DONT_USE_SCIENTIFIC            :1
    ;boolean bits, phrased so that a 0 will give the default
    FFAF_SCIENTIFIC                     :1
    FFAF_PERCENT                        :1
    FFAF_USE_COMMAS                     :1
    FFAF_NO_TRAIL_ZEROS                 :1
    FFAF_NO_LEAD_ZERO                   :1
    FFAF_HEADER_PRESENT                 :1
    FFAF_TRAILER_PRESENT                :1
    FFAF_SIGN_CHAR_TO_FOLLOW_HEADER     :1
    FFAF_SIGN_CHAR_TO_PRECEDE_TRAILER   :1
FloatFloatToAsciiFormatFlags                end

FFAF_FLOAT_RESERVED
This flag must be 0 to perform a float-to-ASCII operation (a 1 indicates a time-date operation).

FFAF_FROM_ADDR
This flag is set if the number should be taken from a passed address rather than the top of the FP stack.

FFAF_DONT_USE_SCIENTIFIC
This flag informs FloatFloatToAscii to format the number as a fixed point number by padding the number with zeros as necessary. The routine will force scientific anyway if the resulting string exceeds some large limit.

FFAF_SCIENTIFIC
Set if the FP number should always be formatted in scientific notation.

FFAF_PERCENT
Set if the FP number should be formatted as a percentage

FFAF_USE_COMMAS Set if the format should use commas to demarcate the thousands separators.

FFAF_NO_TRAIL_ZEROS
Set if the format should use trailing zeros to pad the FP number.

FFAF_NO_LEAD_ZERO
Set if a zero should precede the decimal point if the FP number is between -1 and 1.

FFAF_HEADER_PRESENT
This flag indicates that the format includes a header. Setting this flag speeds formatting.

FFAF_TRAILER_PRESENT
This flag indicates that the format includes a trailer. Setting this flag speeds formatting.

FFAF_SIGN_CHAR_TO_FOLLOW_HEADER
This flag indicates the position of the sign character(s).

FFAF_SIGN_CHAR_TO_PRECEDE_TRAILER
This flag indicates the position of the sign character(s).

Library: math.def


FloatFloatToAsciiParams

FloatFloatToAsciiParams         struct
    ;
    ;Fields for caller to set up. All fields must be initialized.
    ;
    formatFlags     FloatFloatToAsciiFormatFlags
    decimalOffset   byte
    totalDigits     byte
    decimalLimit    byte
    preNegative     char SIGN_STR_LEN+1 dup (?)
    postNegative        char SIGN_STR_LEN+1 dup (?)
    prePositive     char SIGN_STR_LEN+1 dup (?)
    postPositive        char SIGN_STR_LEN+1 dup (?)
    ;
    ; HEADER AND TRAILER FOLLOW
    ; If these aren't present then only the bytes above need be stored
    ; per format
    ;
    header          char PAD_STR_LEN+1 dup (?)
    trailer         char PAD_STR_LEN+1 dup (?)
    align           word
FloatFloatToAsciiParams         ends

formatFlags stores a record of Boolean bits specifying how the caller wants the string to look.

decimalOffset stores the number of decimal places that the caller want the decimal point to be offset. E.g. Caller may want offset of -6 to display numbers in terms of “millions.”

DECIMAL_PRECISION <= decimalOffset <= DECIMAL_PRECISION.

totalDigits stores the maximum number of digits for the number to contain (integer + decimal portions). The ASCII string is truncated if length(string) > number.

Generally,
totalDigits <= DECIMAL_PRECISION if FFAF_DONT_USE_SCIENTIFIC is not used.
totalDigits <= MAX_DIGITS_FOR_HUGE_NUMBERS if FFAF_DONT_USE_SCIENTIFIC is used.

By the way, a significant digit is a decimal digit derived from the floating point number’s mantissa and it may precede or follow a decimal point. The IEEE format is only capable of DECIMAL_PRECISION number of significant digits. If the totalDigits is greater then DECIMAL_PRECISION, the excess digits will be 0.

decimalLimit stores the maximum number of decimal digits. The number will be rounded to meet this limit. E.g. 345.678 with a decimalLimit of 2 will return 345.68 in fixed format and 3.46E+2 in scientific format.

0 <= decimalLimit <= DECIMAL_PRECISION.

preNegative stores the character(s) used to precede a negative number. The string is expected to be null terminated. E.g. for parenthesized negatives preNegative may be ‘(‘; for arithmetic negatives preNegative may be ‘-‘. Set preNegative to 0 if no character is desired.

(Note: the +1 in “SIGN_STR_LEN+1” is for the null terminator.)

postNegative stores the character(s) used to terminate a negative number. The string is expected to be null terminated. E.g. for parenthesized negatives, postNegative may be ‘)’. Set postNegative to 0 if no character is desired.

(Note: the +1 in “SIGN_STR_LEN+1” is for the null terminator.)

prePositive stores the character(s) used to precede a positive number. The string is expected to be null terminated. E.g. for arithmetic positives prePositive may be ‘+’. Set prePositive to 0 if no character is desired.

(Note: the +1 in “SIGN_STR_LEN+1” is for the null terminator.)

postPositive stores the character(s) used to terminate a positive number. The string is expected to be null terminated. Set postPositive to 0 if no character is desired.

(Note: the +1 in “SIGN_STR_LEN+1” is for the null terminator.)

header stores the characters that should precede the number. The string is expected to be null terminated. Whether or not this string follows or precedes the sign is determined by FFAF_SIGN_CHAR_TO_FOLLOW_HEADER.

(Note: the +1 in “PAD_STR_LEN+1” is for the null terminator.)

trailer stores the characters that should follow the number. The string is expected to be null terminated. Whether or not this string follows or precedes the sign is determined by FFAF_SIGN_CHAR_TO_PRECEDE_TRAILER.

(Note: the +1 in “PAD_STR_LEN+1” is for the null terminator.)

Library: math.def


FloatFloatToAsciiParams_Union

FloatFloatToAsciiParams         union
    FFAP_FLOAT          FloatFloatToAsciiParams
    FFAP_DATE_TIME      FloatFloatToDateTimeParams
FloatFloatToAsciiParams         end

This union is used by FloatFloatToAscii to determine if the FP number should be converted into ASCII text or into a date-time.

Library: math.def


FloatFloatToDateTimeData

FloatFloatToDateTimeData            struct
    FFA_dateTimeParams          FloatFloatToDateTimeParams
FloatFloatToDateTimeData            ends

FloatFloatToDateTimeData contains the FloatFloatToDateTimeParams and (possibly) fields for internal use in the future. This structure exists as a member of the FFA_stackFrame union.

Library: math.def


FloatFloatToDateTimeFlags

FloatFloatToDateTimeFlags               record
    ; these first 2 bits must not move
    FFDT_DATE_TIME_OP           :1
    FFDT_FROM_ADDR              :1
    FFDT_FORMAT                 :14
FloatFloatToDateTimeFlags               end

FFDT_DATE_TIME_OP
This flag must set to indicate to FloatFloatToAscii that a date operation is desired.

FFDT_FROM_ADDR
This flag is set if the FP number to convert should be taken from a passed address rather than the top of the FP stack.

FFDT_FORMAT stores the DateTimeFormat format to use.

Library: math.def


FloatFloatToDateTimeParams

FloatFloatToDateTimeParams              struct
    FFA_dateTimeFlags           FloatFloatToDateTimeFlags
    FFA_year                    word
    FFA_month                   byte
    FFA_day                     byte
    FFA_weekday                 byte
    FFA_hours                   byte
    FFA_minutes                 byte
    FFA_seconds                 byte
FloatFloatToDateTimeParams              ends

The FloatFloatToDateTimeParams portion of FloatFloatToDateTimeData needs to be initialized before the call to FloatFloatToAscii.

The FloatFloatToDateTimeParams is part of the FloatFloatToDateTimeData structure which in turn is a member of the FFA_stackFrame union.

Library: math.def


FloatFormatErrors

FloatFormatErrors       etype   byte, 0
    FLOAT_FORMAT_NO_ERROR                   enum FloatFormatErrors
    FLOAT_FORMAT_TOO_MANY_FORMATS           enum FloatFormatErrors
    FLOAT_FORMAT_CANNOT_ALLOC               enum FloatFormatErrors
    ;
    ; picked with FORMAT_ID_PREDEF in mind 
    ;
    FLOAT_FORMAT_FORMAT_NAME_NOT_FOUND      = 7fffh
    FLOAT_FORMAT_PARAMS_MATCH               = TRUE
    FLOAT_FORMAT_PARAMS_DONT_MATCH          = FALSE

Library: math.def


FloatNum

FloatNum        struct
    F_mantissa_wd0      word                ; offset 0
    F_mantissa_wd1      word                ; offset 2
    F_mantissa_wd2      word                ; offset 4
    F_mantissa_wd3      word                ; offset 6
    F_exponent          FloatExponent <>    ; offset 8
FloatNum        ends

This structure defines a GEOS 80 bit floating point number.

Library: math.def


FloatStackType

FloatStackType      etype   byte, 0
    FLOAT_STACK_GROW                enum FloatStackType
    FLOAT_STACK_WRAP                enum FloatStackType
    FLOAT_STACK_ERROR               enum FloatStackType

    FLOAT_STACK_DEFAULT_TYPE        equ FLOAT_STACK_GROW

This value defines the type of FP stack that should be used by the current thread.

FLOAT_STACK_GROW indicates that the FP stack should grow as needed, This is the default.

FLOAT_STACK_WRAP indicates that the FP stack should “wrap around” and overwrite existing numbers on the bottom of the stack as needed.

FLOAT_STACK_ERROR indicates that FP stack should initiate an error whenever it reaches its maximum size.

Library: math.def


FloatingKeyboardInfo

FloatingKeyboardInfo    struct
    FKI_defaultPosition     word
        ; If set, the keyboard will be moved to the default position before
        ; being brought onscreen
    FKI_sysModal            word
        ; If set, the currently focused window is system modal, so the
        ; window needs to be moved to a higher layer
FloatingKeyboardInfo    ends

Library: gAppC.def


FontAttrs

FontAttrs       record
    FA_USEFUL           FontUseful:1        ;TRUE: "useful" font
    FA_FIXED_WIDTH      FontPitch:1         ;TRUE: fixed width
    FA_ORIENT           FontOrientation:1   ;TRUE: landscape orientation
    FA_OUTLINE          FontSource:1        ;TRUE: outline defined
    FA_FAMILY           FontFamily:4        ;font family
FontAttrs       end

Library: font.def


FontEnumFlags

FontEnumFlags       record
    FEF_ALPHABETIZE     :1  ;TRUE: alphabetize list
    FEF_USEFUL          :1  ;TRUE: find "useful" fonts only
    FEF_FIXED_WIDTH     :1  ;TRUE: find fixed-width fonts only
    FEF_FAMILY          :1  ;TRUE: match FontFamily
    FEF_STRING          :1  ;TRUE: match string
    FEF_DOWNCASE        :1  ;TRUE: downcase returned strings
    FEF_BITMAPS         :1  ;TRUE: find fonts with bitmaps
    FEF_OUTLINES        :1  ;TRUE: find fonts with outlines.
FontEnumFlags       end

Library: font.def


FontEnumStruct

FontEnumStruct      struct
    FES_ID      FontID
    FES_name    char FONT_NAME_LEN dup (?)  ; null terminated string
FontEnumStruct      ends

This structure is returned by GrEnumFonts.

Library: font.def


FontFamily

FontFamily          etype   byte
    FF_SERIF            enum FontFamily
    FF_SANS_SERIF       enum FontFamily
    FF_SCRIPT           enum FontFamily
    FF_ORNAMENT         enum FontFamily
    FF_SYMBOL           enum FontFamily
    FF_MONO             enum FontFamily
    FF_SPECIAL          enum FontFamily
    FF_NON_PORTABLE     enum FontFamily

Library: fontID.def


FontGroup

FontGroup       etype   word, 0, FID_FAMILY_DIVISIONS
    FG_SERIF        enum FontGroup, FF_SERIF        *FID_FAMILY_DIVISIONS
    FG_SANS_SERIF   enum FontGroup, FF_SANS_SERIF   *FID_FAMILY_DIVISIONS
    FG_SCRIPT       enum FontGroup, FF_SCRIPT       *FID_FAMILY_DIVISIONS
    FG_ORNAMENT     enum FontGroup, FF_ORNAMENT     *FID_FAMILY_DIVISIONS
    FG_SYMBOL       enum FontGroup, FF_SYMBOL       *FID_FAMILY_DIVISIONS
    FG_MONO         enum FontGroup, FF_MONO         *FID_FAMILY_DIVISIONS
    FG_SPECIAL      enum FontGroup, FF_SPECIAL      *FID_FAMILY_DIVISIONS
    FG_NON_PORTABLE enum FontGroup, FF_NON_PORTABLE *FID_FAMILY_DIVISIONS

Library: fontID.def


FontID

FontID  etype   word
    FID_INVALID                         enum FontID, 0x0000 ; invalid font ID
    FID_PRINTER_PROP_SANS               enum FontID,  0xf200
    FID_PRINTER_PROP_SERIF              enum FontID,  0xf000
    FID_BITSTREAM_LETTER_GOTHIC         enum FontID,  0x3a03
    FID_PS_LETTER_GOTHIC                enum FontID,  0x2a03
    FID_DTC_LETTER_GOTHIC               enum FontID,  0x1a03
    FID_BITSTREAM_PRESTIGE_ELITE        enum FontID,  0x3a02
    FID_PS_PRESTIGE_ELITE               enum FontID,  0x2a02
    FID_DTC_PRESTIGE_ELITE              enum FontID,  0x1a02
    FID_BITSTREAM_AMERICAN_TYPEWRITER   enum FontID,  0x3a01
    FID_PS_AMERICAN_TYPEWRITER          enum FontID,  0x2a01
    FID_DTC_AMERICAN_TYPEWRITER         enum FontID,  0x1a01
    FID_BITSTREAM_URW_MONO              enum FontID,  0x3a00
    FID_PS_COURIER                      enum FontID,  0x2a00
    FID_DTC_URW_MONO                    enum FontID,  0x1a00
    FID_BITSTREAM_FUN_DINGBATS          enum FontID,  0x380d
    FID_PS_FUN_DINGBATS                 enum FontID,  0x280d
    FID_DTC_FUN_DINGBATS                enum FontID,  0x180d
    FID_BITSTREAM_CHEQ                  enum FontID,  0x380c
    FID_PS_CHEQ                         enum FontID,  0x280c
    FID_DTC_CHEQ                        enum FontID,  0x180c
    FID_BITSTREAM_BUNDESBAHN_PI_3       enum FontID,  0x380b
    FID_PS_BUNDESBAHN_PI_3              enum FontID,  0x280b
    FID_DTC_BUNDESBAHN_PI_3             enum FontID,  0x180b
    FID_BITSTREAM_BUNDESBAHN_PI_2       enum FontID,  0x380a
    FID_PS_BUNDESBAHN_PI_2              enum FontID,  0x280a
    FID_DTC_BUNDESBAHN_PI_2             enum FontID,  0x180a
    FID_BITSTREAM_BUNDESBAHN_PI_1       enum FontID,  0x3809
    FID_PS_BUNDESBAHN_PI_1              enum FontID,  0x2809
    FID_DTC_BUNDESBAHN_PI_1             enum FontID,  0x1809
    FID_BITSTREAM_U_GREEK_MATH_PI       enum FontID,  0x3808
    FID_PS_U_GREEK_MATH_PI              enum FontID,  0x2808
    FID_DTC_U_GREEK_MATH_PI             enum FontID,  0x1808
    FID_BITSTREAM_U_NEWS_COMM_PI        enum FontID,  0x3807
    FID_PS_U_NEWS_COMM_PI               enum FontID,  0x2807
    FID_DTC_U_NEWS_COMM_PI              enum FontID,  0x1807
    FID_BITSTREAM_ACE_I                 enum FontID,  0x3806
    FID_PS_ACE_I                        enum FontID,  0x2806
    FID_DTC_ACE_I                       enum FontID,  0x1806
    FID_BITSTREAM_SONATA                enum FontID,  0x3805
    FID_PS_SONATA                       enum FontID,  0x2805
    FID_DTC_SONATA                      enum FontID,  0x1805
    FID_BITSTREAM_CARTA                 enum FontID,  0x3804
    FID_PS_CARTA                        enum FontID,  0x2804
    FID_DTC_CARTA                       enum FontID,  0x1804
    FID_BITSTREAM_MICR                  enum FontID,  0x3803
    FID_PS_MICR                         enum FontID,  0x2803
    FID_DTC_MICR                        enum FontID,  0x1803
    FID_BITSTREAM_ZAPF_DINGBATS         enum FontID,  0x3802
    FID_PS_ZAPF_DINGBATS                enum FontID,  0x2802
    FID_DTC_ZAPF_DINGBATS               enum FontID,  0x1802
    FID_BITSTREAM_DINGBATS              enum FontID,  0x3801
    FID_PS_DINGBATS                     enum FontID,  0x2801
    FID_DTC_DINGBATS                    enum FontID,  0x1801
    FID_BITSTREAM_URW_SYMBOLPS          enum FontID,  0x3800
    FID_PS_SYMBOL                       enum FontID,  0x2800
    FID_DTC_URW_SYMBOLPS                enum FontID,  0x1800
    FID_BITSTREAM_JUNIPER               enum FontID,  0x367f
    FID_PS_JUNIPER                      enum FontID,  0x267f
    FID_DTC_JUNIPER                     enum FontID,  0x167f
    FID_BITSTREAM_COTTONWOOD            enum FontID,  0x367e
    FID_PS_COTTONWOOD                   enum FontID,  0x267e
    FID_DTC_COTTONWOOD                  enum FontID,  0x167e
    FID_BITSTREAM_BANCO                 enum FontID,  0x367d
    FID_PS_BANCO                        enum FontID,  0x267d
    FID_DTC_BANCO                       enum FontID,  0x167d
    FID_BITSTREAM_ARCADIA               enum FontID,  0x367c
    FID_PS_ARCADIA                      enum FontID,  0x267c
    FID_DTC_ARCADIA                     enum FontID,  0x167c
    FID_BITSTREAM_ZIPPER                enum FontID,  0x367b
    FID_PS_ZIPPER                       enum FontID,  0x267b
    FID_DTC_ZIPPER                      enum FontID,  0x167b
    FID_BITSTREAM_WEIFZ_RUNDGOTIFCH     enum FontID,  0x367a
    FID_PS_WEIFZ_RUNDGOTIFCH            enum FontID,  0x267a
    FID_DTC_WEIFZ_RUNDGOTIFCH           enum FontID,  0x167a
    FID_BITSTREAM_WASHINGTON            enum FontID,  0x3679
    FID_PS_WASHINGTON                   enum FontID,  0x2679
    FID_DTC_WASHINGTON                  enum FontID,  0x1679
    FID_BITSTREAM_VICTORIAN             enum FontID,  0x3678
    FID_PS_VICTORIAN                    enum FontID,  0x2678
    FID_DTC_VICTORIAN                   enum FontID,  0x1678
    FID_BITSTREAM_VEGAS                 enum FontID,  0x3677
    FID_PS_VEGAS                        enum FontID,  0x2677
    FID_DTC_VEGAS                       enum FontID,  0x1677
    FID_BITSTREAM_VARIO                 enum FontID,  0x3676
    FID_PS_VARIO                        enum FontID,  0x2676
    FID_DTC_VARIO                       enum FontID,  0x1676
    FID_BITSTREAM_VAG_RUNDSCHRIFT       enum FontID,  0x3675
    FID_PS_VAG_RUNDSCHRIFT              enum FontID,  0x2675
    FID_DTC_VAG_RUNDSCHRIFT             enum FontID,  0x1675
    FID_BITSTREAM_TRAJANUS              enum FontID,  0x3674
    FID_PS_TRAJANUS                     enum FontID,  0x2674
    FID_DTC_TRAJANUS                    enum FontID,  0x1674
    FID_BITSTREAM_TITUS                 enum FontID,  0x3673
    FID_PS_TITUS                        enum FontID,  0x2673
    FID_DTC_TITUS                       enum FontID,  0x1673
    FID_BITSTREAM_TIME_SCRIPT           enum FontID,  0x3672
    FID_PS_TIME_SCRIPT                  enum FontID,  0x2672
    FID_DTC_TIME_SCRIPT                 enum FontID,  0x1672
    FID_BITSTREAM_THUNDERBIRD           enum FontID,  0x3671
    FID_PS_THUNDERBIRD                  enum FontID,  0x2671
    FID_DTC_THUNDERBIRD                 enum FontID,  0x1671
    FID_BITSTREAM_THOROWGOOD            enum FontID,  0x3670
    FID_PS_THOROWGOOD                   enum FontID,  0x2670
    FID_DTC_THOROWGOOD                  enum FontID,  0x1670
    FID_BITSTREAM_TARRAGON              enum FontID,  0x366f
    FID_PS_TARRAGON                     enum FontID,  0x266f
    FID_DTC_TARRAGON                    enum FontID,  0x166f
    FID_BITSTREAM_TANGO                 enum FontID,  0x366e
    FID_PS_TANGO                        enum FontID,  0x266e
    FID_DTC_TANGO                       enum FontID,  0x166e
    FID_BITSTREAM_SYNCHRO               enum FontID,  0x366d
    FID_PS_SYNCHRO                      enum FontID,  0x266d
    FID_DTC_SYNCHRO                     enum FontID,  0x166d
    FID_BITSTREAM_SUPERSTAR             enum FontID,  0x366c
    FID_PS_SUPERSTAR                    enum FontID,  0x266c
    FID_DTC_SUPERSTAR                   enum FontID,  0x166c
    FID_BITSTREAM_STOP                  enum FontID,  0x366b
    FID_PS_STOP                         enum FontID,  0x266b
    FID_DTC_STOP                        enum FontID,  0x166b
    FID_BITSTREAM_STILLA_CAPS           enum FontID,  0x366a
    FID_PS_STILLA_CAPS                  enum FontID,  0x266a
    FID_DTC_STILLA_CAPS                 enum FontID,  0x166a
    FID_BITSTREAM_STILLA                enum FontID,  0x3669
    FID_PS_STILLA                       enum FontID,  0x2669
    FID_DTC_STILLA                      enum FontID,  0x1669
    FID_BITSTREAM_STENTOR               enum FontID,  0x3668
    FID_PS_STENTOR                      enum FontID,  0x2668
    FID_DTC_STENTOR                     enum FontID,  0x1668
    FID_BITSTREAM_SQUIRE                enum FontID,  0x3667
    FID_PS_SQUIRE                       enum FontID,  0x2667
    FID_DTC_SQUIRE                      enum FontID,  0x1667
    FID_BITSTREAM_SPRINGFIELD           enum FontID,  0x3666
    FID_PS_SPRINGFIELD                  enum FontID,  0x2666
    FID_DTC_SPRINGFIELD                 enum FontID,  0x1666
    FID_BITSTREAM_SLIPSTREAM            enum FontID,  0x3665
    FID_PS_SLIPSTREAM                   enum FontID,  0x2665
    FID_DTC_SLIPSTREAM                  enum FontID,  0x1665
    FID_BITSTREAM_SINALOA               enum FontID,  0x3664
    FID_PS_SINALOA                      enum FontID,  0x2664
    FID_DTC_SINALOA                     enum FontID,  0x1664
    FID_BITSTREAM_SHELLEY               enum FontID,  0x3663
    FID_PS_SHELLEY                      enum FontID,  0x2663
    FID_DTC_SHELLEY                     enum FontID,  0x1663
    FID_BITSTREAM_SERPENTINE            enum FontID,  0x3662
    FID_PS_SERPENTINE                   enum FontID,  0x2662
    FID_DTC_SERPENTINE                  enum FontID,  0x1662
    FID_BITSTREAM_RUBBER_STAMP          enum FontID,  0x3661
    FID_PS_RUBBER_STAMP                 enum FontID,  0x2661
    FID_DTC_RUBBER_STAMP                enum FontID,  0x1661
    FID_BITSTREAM_ROMIC                 enum FontID,  0x3660
    FID_PS_ROMIC                        enum FontID,  0x2660
    FID_DTC_ROMIC                       enum FontID,  0x1660
    FID_BITSTREAM_RIALTO                enum FontID,  0x365f
    FID_PS_RIALTO                       enum FontID,  0x265f
    FID_DTC_RIALTO                      enum FontID,  0x165f
    FID_BITSTREAM_REVUE                 enum FontID,  0x365e
    FID_PS_REVUE                        enum FontID,  0x265e
    FID_DTC_REVUE                       enum FontID,  0x165e
    FID_BITSTREAM_QUENTIN               enum FontID,  0x365d
    FID_PS_QUENTIN                      enum FontID,  0x265d
    FID_DTC_QUENTIN                     enum FontID,  0x165d
    FID_BITSTREAM_PRO_ARTE              enum FontID,  0x365c
    FID_PS_PRO_ARTE                     enum FontID,  0x265c
    FID_DTC_PRO_ARTE                    enum FontID,  0x165c
    FID_BITSTREAM_PRINCETOWN            enum FontID,  0x365b
    FID_PS_PRINCETOWN                   enum FontID,  0x265b
    FID_DTC_PRINCETOWN                  enum FontID,  0x165b
    FID_BITSTREAM_PRESIDENT             enum FontID,  0x365a
    FID_PS_PRESIDENT                    enum FontID,  0x265a
    FID_DTC_PRESIDENT                   enum FontID,  0x165a
    FID_BITSTREAM_PREMIER               enum FontID,  0x3659
    FID_PS_PREMIER                      enum FontID,  0x2659
    FID_DTC_PREMIER                     enum FontID,  0x1659
    FID_BITSTREAM_POST_ANTIQUA          enum FontID,  0x3658
    FID_PS_POST_ANTIQUA                 enum FontID,  0x2658
    FID_DTC_POST_ANTIQUA                enum FontID,  0x1658
    FID_BITSTREAM_PLAZA                 enum FontID,  0x3657
    FID_PS_PLAZA                        enum FontID,  0x2657
    FID_DTC_PLAZA                       enum FontID,  0x1657
    FID_BITSTREAM_PLAYBILL              enum FontID,  0x3656
    FID_PS_PLAYBILL                     enum FontID,  0x2656
    FID_DTC_PLAYBILL                    enum FontID,  0x1656
    FID_BITSTREAM_PICCADILLY            enum FontID,  0x3655
    FID_PS_PICCADILLY                   enum FontID,  0x2655
    FID_DTC_PICCADILLY                  enum FontID,  0x1655
    FID_BITSTREAM_PEIGNOT               enum FontID,  0x3654
    FID_PS_PEIGNOT                      enum FontID,  0x2654
    FID_DTC_PEIGNOT                     enum FontID,  0x1654
    FID_BITSTREAM_PAPYRUS               enum FontID,  0x3653
    FID_PS_PAPYRUS                      enum FontID,  0x2653
    FID_DTC_PAPYRUS                     enum FontID,  0x1653
    FID_BITSTREAM_PADDINGTION           enum FontID,  0x3652
    FID_PS_PADDINGTION                  enum FontID,  0x2652
    FID_DTC_PADDINGTION                 enum FontID,  0x1652
    FID_BITSTREAM_OKAY                  enum FontID,  0x3651
    FID_PS_OKAY                         enum FontID,  0x2651
    FID_DTC_OKAY                        enum FontID,  0x1651
    FID_BITSTREAM_ODIN                  enum FontID,  0x3650
    FID_PS_ODIN                         enum FontID,  0x2650
    FID_DTC_ODIN                        enum FontID,  0x1650
    FID_BITSTREAM_OCTOPUSS              enum FontID,  0x364f
    FID_PS_OCTOPUSS                     enum FontID,  0x264f
    FID_DTC_OCTOPUSS                    enum FontID,  0x164f
    FID_BITSTREAM_MOTTER_FEMINA         enum FontID,  0x364e
    FID_PS_MOTTER_FEMINA                enum FontID,  0x264e
    FID_DTC_MOTTER_FEMINA               enum FontID,  0x164e
    FID_BITSTREAM_MICROGRAMMA           enum FontID,  0x364d
    FID_PS_MICROGRAMMA                  enum FontID,  0x264d
    FID_DTC_MICROGRAMMA                 enum FontID,  0x164d
    FID_BITSTREAM_MACHINE               enum FontID,  0x364c
    FID_PS_MACHINE                      enum FontID,  0x264c
    FID_DTC_MACHINE                     enum FontID,  0x164c
    FID_BITSTREAM_LINOTEXT              enum FontID,  0x364b
    FID_PS_LINOTEXT                     enum FontID,  0x264b
    FID_DTC_LINOTEXT                    enum FontID,  0x164b
    FID_BITSTREAM_LIBERTY               enum FontID,  0x364a
    FID_PS_LIBERTY                      enum FontID,  0x264a
    FID_DTC_LIBERTY                     enum FontID,  0x164a
    FID_BITSTREAM_LAZYBONES             enum FontID,  0x3649
    FID_PS_LAZYBONES                    enum FontID,  0x2649
    FID_DTC_LAZYBONES                   enum FontID,  0x1649
    FID_BITSTREAM_LATIN_WIDE            enum FontID,  0x3648
    FID_PS_LATIN_WIDE                   enum FontID,  0x2648
    FID_DTC_LATIN_WIDE                  enum FontID,  0x1648
    FID_BITSTREAM_KNIGHTSBRIDGE         enum FontID,  0x3647
    FID_PS_KNIGHTSBRIDGE                enum FontID,  0x2647
    FID_DTC_KNIGHTSBRIDGE               enum FontID,  0x1647
    FID_BITSTREAM_KAPITELLIA            enum FontID,  0x3646
    FID_PS_KAPITELLIA                   enum FontID,  0x2646
    FID_DTC_KAPITELLIA                  enum FontID,  0x1646
    FID_BITSTREAM_KALLIGRAPHIA          enum FontID,  0x3645
    FID_PS_KALLIGRAPHIA                 enum FontID,  0x2645
    FID_DTC_KALLIGRAPHIA                enum FontID,  0x1645
    FID_BITSTREAM_ICE_AGE               enum FontID,  0x3644
    FID_PS_ICE_AGE                      enum FontID,  0x2644
    FID_DTC_ICE_AGE                     enum FontID,  0x1644
    FID_BITSTREAM_ICONE                 enum FontID,  0x3643
    FID_PS_ICONE                        enum FontID,  0x2643
    FID_DTC_ICONE                       enum FontID,  0x1643
    FID_BITSTREAM_HORNDON               enum FontID,  0x3642
    FID_PS_HORNDON                      enum FontID,  0x2642
    FID_DTC_HORNDON                     enum FontID,  0x1642
    FID_BITSTREAM_HORATIO               enum FontID,  0x3641
    FID_PS_HORATIO                      enum FontID,  0x2641
    FID_DTC_HORATIO                     enum FontID,  0x1641
    FID_BITSTREAM_HIGHLIGHT             enum FontID,  0x3640
    FID_PS_HIGHLIGHT                    enum FontID,  0x2640
    FID_DTC_HIGHLIGHT                   enum FontID,  0x1640
    FID_BITSTREAM_HADFIELD              enum FontID,  0x363f
    FID_PS_HADFIELD                     enum FontID,  0x263f
    FID_DTC_HADFIELD                    enum FontID,  0x163f
    FID_BITSTREAM_GLASER_STENCIL        enum FontID,  0x363e
    FID_PS_GLASER_STENCIL               enum FontID,  0x263e
    FID_DTC_GLASER_STENCIL              enum FontID,  0x163e
    FID_BITSTREAM_GILL_KAYO             enum FontID,  0x363d
    FID_PS_GILL_KAYO                    enum FontID,  0x263d
    FID_DTC_GILL_KAYO                   enum FontID,  0x163d
    FID_BITSTREAM_GALADRIEL             enum FontID,  0x363c
    FID_PS_GALADRIEL                    enum FontID,  0x263c
    FID_DTC_GALADRIEL                   enum FontID,  0x163c
    FID_BITSTREAM_FUTURA_DISPLAY        enum FontID,  0x363b
    FID_PS_FUTURA_DISPLAY               enum FontID,  0x263b
    FID_DTC_FUTURA_DISPLAY              enum FontID,  0x163b
    FID_BITSTREAM_FUTURA_C_BLACK        enum FontID,  0x363a
    FID_PS_FUTURA_C_BLACK               enum FontID,  0x263a
    FID_DTC_FUTURA_C_BLACK              enum FontID,  0x163a
    FID_BITSTREAM_FRANKFURTER           enum FontID,  0x3639
    FID_PS_FRANKFURTER                  enum FontID,  0x2639
    FID_DTC_FRANKFURTER                 enum FontID,  0x1639
    FID_BITSTREAM_FLORA                 enum FontID,  0x3638
    FID_PS_FLORA                        enum FontID,  0x2638
    FID_DTC_FLORA                       enum FontID,  0x1638
    FID_BITSTREAM_FLANGE                enum FontID,  0x3637
    FID_PS_FLANGE                       enum FontID,  0x2637
    FID_DTC_FLANGE                      enum FontID,  0x1637
    FID_BITSTREAM_FLASH                 enum FontID,  0x3636
    FID_PS_FLASH                        enum FontID,  0x2636
    FID_DTC_FLASH                       enum FontID,  0x1636
    FID_BITSTREAM_FLAMENCO              enum FontID,  0x3635
    FID_PS_FLAMENCO                     enum FontID,  0x2635
    FID_DTC_FLAMENCO                    enum FontID,  0x1635
    FID_BITSTREAM_FETTE_GOTILCH         enum FontID,  0x3634
    FID_PS_FETTE_GOTILCH                enum FontID,  0x2634
    FID_DTC_FETTE_GOTILCH               enum FontID,  0x1634
    FID_BITSTREAM_FETTE_FRAKTUR         enum FontID,  0x3633
    FID_PS_FETTE_FRAKTUR                enum FontID,  0x2633
    FID_DTC_FETTE_FRAKTUR               enum FontID,  0x1633
    FID_BITSTREAM_ENVIRO                enum FontID,  0x3632
    FID_PS_ENVIRO                       enum FontID,  0x2632
    FID_DTC_ENVIRO                      enum FontID,  0x1632
    FID_BITSTREAM_EINHORN               enum FontID,  0x3631
    FID_PS_EINHORN                      enum FontID,  0x2631
    FID_DTC_EINHORN                     enum FontID,  0x1631
    FID_BITSTREAM_ECKMANN               enum FontID,  0x3630
    FID_PS_ECKMANN                      enum FontID,  0x2630
    FID_DTC_ECKMANN                     enum FontID,  0x1630
    FID_BITSTREAM_DYNAMO                enum FontID,  0x362f
    FID_PS_DYNAMO                       enum FontID,  0x262f
    FID_DTC_DYNAMO                      enum FontID,  0x162f
    FID_BITSTREAM_DOM_CASUAL            enum FontID,  0x362e
    FID_PS_DOM_CASUAL                   enum FontID,  0x262e
    FID_DTC_DOM_CASUAL                  enum FontID,  0x162e
    FID_BITSTREAM_DAVIDA                enum FontID,  0x362d
    FID_PS_DAVIDA                       enum FontID,  0x262d
    FID_DTC_DAVIDA                      enum FontID,  0x162d
    FID_BITSTREAM_CROISSANT             enum FontID,  0x362c
    FID_PS_CROISSANT                    enum FontID,  0x262c
    FID_DTC_CROISSANT                   enum FontID,  0x162c
    FID_BITSTREAM_CRILLEE               enum FontID,  0x362b
    FID_PS_CRILLEE                      enum FontID,  0x262b
    FID_DTC_CRILLEE                     enum FontID,  0x162b
    FID_BITSTREAM_COUNTDOWN             enum FontID,  0x362a
    FID_PS_COUNTDOWN                    enum FontID,  0x262a
    FID_DTC_COUNTDOWN                   enum FontID,  0x162a
    FID_BITSTREAM_CORTEZ                enum FontID,  0x3629
    FID_PS_CORTEZ                       enum FontID,  0x2629
    FID_DTC_CORTEZ                      enum FontID,  0x1629
    FID_BITSTREAM_CONFERENCE            enum FontID,  0x3628
    FID_PS_CONFERENCE                   enum FontID,  0x2628
    FID_DTC_CONFERENCE                  enum FontID,  0x1628
    FID_BITSTREAM_COMPANY               enum FontID,  0x3627
    FID_PS_COMPANY                      enum FontID,  0x2627
    FID_DTC_COMPANY                     enum FontID,  0x1627
    FID_BITSTREAM_COLUMNA_SOLID         enum FontID,  0x3626
    FID_PS_COLUMNA_SOLID                enum FontID,  0x2626
    FID_DTC_COLUMNA_SOLID               enum FontID,  0x1626
    FID_BITSTREAM_CITY                  enum FontID,  0x3625
    FID_PS_CITY                         enum FontID,  0x2625
    FID_DTC_CITY                        enum FontID,  0x1625
    FID_BITSTREAM_CIRKULUS              enum FontID,  0x3624
    FID_PS_CIRKULUS                     enum FontID,  0x2624
    FID_DTC_CIRKULUS                    enum FontID,  0x1624
    FID_BITSTREAM_CHURCHWARD_BRUSH      enum FontID,  0x3623
    FID_PS_CHURCHWARD_BRUSH             enum FontID,  0x2623
    FID_DTC_CHURCHWARD_BRUSH            enum FontID,  0x1623
    FID_BITSTREAM_CHROMIUM_ONE          enum FontID,  0x3622
    FID_PS_CHROMIUM_ONE                 enum FontID,  0x2622
    FID_DTC_CHROMIUM_ONE                enum FontID,  0x1622
    FID_BITSTREAM_CHOC                  enum FontID,  0x3621
    FID_PS_CHOC                         enum FontID,  0x2621
    FID_DTC_CHOC                        enum FontID,  0x1621
    FID_BITSTREAM_CHISEL                enum FontID,  0x3620
    FID_PS_CHISEL                       enum FontID,  0x2620
    FID_DTC_CHISEL                      enum FontID,  0x1620
    FID_BITSTREAM_CHESTERFIELD          enum FontID,  0x361f
    FID_PS_CHESTERFIELD                 enum FontID,  0x261f
    FID_DTC_CHESTERFIELD                enum FontID,  0x161f
    FID_BITSTREAM_CAROUSEL              enum FontID,  0x361e
    FID_PS_CAROUSEL                     enum FontID,  0x261e
    FID_DTC_CAROUSEL                    enum FontID,  0x161e
    FID_BITSTREAM_CAMELLIA              enum FontID,  0x361d
    FID_PS_CAMELLIA                     enum FontID,  0x261d
    FID_DTC_CAMELLIA                    enum FontID,  0x161d
    FID_BITSTREAM_CABARET               enum FontID,  0x361c
    FID_PS_CABARET                      enum FontID,  0x261c
    FID_DTC_CABARET                     enum FontID,  0x161c
    FID_BITSTREAM_BUXOM                 enum FontID,  0x361b
    FID_PS_BUXOM                        enum FontID,  0x261b
    FID_DTC_BUXOM                       enum FontID,  0x161b
    FID_BITSTREAM_BUSTER                enum FontID,  0x361a
    FID_PS_BUSTER                       enum FontID,  0x261a
    FID_DTC_BUSTER                      enum FontID,  0x161a
    FID_BITSTREAM_BOTTLENECK            enum FontID,  0x3619
    FID_PS_BOTTLENECK                   enum FontID,  0x2619
    FID_DTC_BOTTLENECK                  enum FontID,  0x1619
    FID_BITSTREAM_BLOCK                 enum FontID,  0x3618
    FID_PS_BLOCK                        enum FontID,  0x2618
    FID_DTC_BLOCK                       enum FontID,  0x1618
    FID_BITSTREAM_BINNER                enum FontID,  0x3617
    FID_PS_BINNER                       enum FontID,  0x2617
    FID_DTC_BINNER                      enum FontID,  0x1617
    FID_BITSTREAM_BERNHARD_ANTIQUE      enum FontID,  0x3616
    FID_PS_BERNHARD_ANTIQUE             enum FontID,  0x2616
    FID_DTC_BERNHARD_ANTIQUE            enum FontID,  0x1616
    FID_BITSTREAM_BELSHAW               enum FontID,  0x3615
    FID_PS_BELSHAW                      enum FontID,  0x2615
    FID_DTC_BELSHAW                     enum FontID,  0x1615
    FID_BITSTREAM_BARCELONA             enum FontID,  0x3614
    FID_PS_BARCELONA                    enum FontID,  0x2614
    FID_DTC_BARCELONA                   enum FontID,  0x1614
    FID_BITSTREAM_BAUHAUS               enum FontID,  0x3613
    FID_PS_BAUHAUS                      enum FontID,  0x2613
    FID_DTC_BAUHAUS                     enum FontID,  0x1613
    FID_BITSTREAM_AUGUSTEA_OPEN         enum FontID,  0x3612
    FID_PS_AUGUSTEA_OPEN                enum FontID,  0x2612
    FID_DTC_AUGUSTEA_OPEN               enum FontID,  0x1612
    FID_BITSTREAM_AMERICAN_UNCIAL       enum FontID,  0x3611
    FID_PS_AMERICAN_UNCIAL              enum FontID,  0x2611
    FID_DTC_AMERICAN_UNCIAL             enum FontID,  0x1611
    FID_BITSTREAM_ULTE_SCHWABACHER      enum FontID,  0x3610
    FID_PS_ULTE_SCHWABACHER             enum FontID,  0x2610
    FID_DTC_ULTE_SCHWABACHER            enum FontID,  0x1610
    FID_BITSTREAM_ARNOLD_BOCKLIN        enum FontID,  0x360f
    FID_PS_ARNOLD_BOCKLIN               enum FontID,  0x260f
    FID_DTC_ARNOLD_BOCKLIN              enum FontID,  0x160f
    FID_BITSTREAM_ALGERIAN              enum FontID,  0x360e
    FID_PS_ALGERIAN                     enum FontID,  0x260e
    FID_DTC_ALGERIAN                    enum FontID,  0x160e
    FID_BITSTREAM_PUMP                  enum FontID,  0x360d
    FID_PS_PUMP                         enum FontID,  0x260d
    FID_DTC_PUMP                        enum FontID,  0x160d
    FID_BITSTREAM_MARIAGE               enum FontID,  0x360c
    FID_PS_MARIAGE                      enum FontID,  0x260c
    FID_DTC_MARIAGE                     enum FontID,  0x160c
    FID_BITSTREAM_OLD_TOWN              enum FontID,  0x360b
    FID_PS_OLD_TOWN                     enum FontID,  0x260b
    FID_DTC_OLD_TOWN                    enum FontID,  0x160b
    FID_BITSTREAM_HOBO                  enum FontID,  0x360a
    FID_PS_HOBO                         enum FontID,  0x260a
    FID_DTC_HOBO                        enum FontID,  0x160a
    FID_BITSTREAM_GOUDY_HEAVYFACE       enum FontID,  0x3609
    FID_PS_GOUDY_HEAVYFACE              enum FontID,  0x2609
    FID_DTC_GOUDY_HEAVYFACE             enum FontID,  0x1609
    FID_BITSTREAM_DATA_70               enum FontID,  0x3608
    FID_PS_DATA_70                      enum FontID,  0x2608
    FID_DTC_DATA_70                     enum FontID,  0x1608
    FID_BITSTREAM_LCD                   enum FontID,  0x3607
    FID_PS_LCD                          enum FontID,  0x2607
    FID_DTC_LCD                         enum FontID,  0x1607
    FID_BITSTREAM_BALLOON               enum FontID,  0x3606
    FID_PS_BALLOON                      enum FontID,  0x2606
    FID_DTC_BALLOON                     enum FontID,  0x1606
    FID_BITSTREAM_BLIPPO_C_BLACK        enum FontID,  0x3605
    FID_PS_BLIPPO_C_BLACK               enum FontID,  0x2605
    FID_DTC_BLIPPO_C_BLACK              enum FontID,  0x1605
    FID_BITSTREAM_COOPER_C_BLACK        enum FontID,  0x3604
    FID_PS_COOPER_C_BLACK               enum FontID,  0x2604
    FID_DTC_COOPER_C_BLACK              enum FontID,  0x1604
    FID_BITSTREAM_COPPERPLATE           enum FontID,  0x3603
    FID_PS_COPPERPLATE                  enum FontID,  0x2603
    FID_DTC_COPPERPLATE                 enum FontID,  0x1603
    FID_BITSTREAM_STENCIL               enum FontID,  0x3602
    FID_PS_STENCIL                      enum FontID,  0x2602
    FID_DTC_STENCIL                     enum FontID,  0x1602
    FID_BITSTREAM_OLD_ENGLISH           enum FontID,  0x3601
    FID_PS_OLD_ENGLISH                  enum FontID,  0x2601
    FID_DTC_OLD_ENGLISH                 enum FontID,  0x1601
    FID_BITSTREAM_BROADWAY              enum FontID,  0x3600
    FID_PS_BROADWAY                     enum FontID,  0x2600
    FID_DTC_BROADWAY                    enum FontID,  0x1600
    FID_BITSTREAM_NUPITAL_SCRIPT        enum FontID,  0x3430
    FID_PS_NUPITAL_SCRIPT               enum FontID,  0x2430
    FID_DTC_NUPITAL_SCRIPT              enum FontID,  0x1430
    FID_BITSTREAM_MEDICI_SCRIPT         enum FontID,  0x342f
    FID_PS_MEDICI_SCRIPT                enum FontID,  0x242f
    FID_DTC_MEDICI_SCRIPT               enum FontID,  0x142f
    FID_BITSTREAM_CHARME                enum FontID,  0x342e
    FID_PS_CHARME                       enum FontID,  0x242e
    FID_DTC_CHARME                      enum FontID,  0x142e
    FID_BITSTREAM_CASCADE_SCRIPT        enum FontID,  0x342d
    FID_PS_CASCADE_SCRIPT               enum FontID,  0x242d
    FID_DTC_CASCADE_SCRIPT              enum FontID,  0x142d
    FID_BITSTREAM_LITHOS                enum FontID,  0x342c
    FID_PS_LITHOS                       enum FontID,  0x242c
    FID_DTC_LITHOS                      enum FontID,  0x142c
    FID_BITSTREAM_TEKTON                enum FontID,  0x342b
    FID_PS_TEKTON                       enum FontID,  0x242b
    FID_DTC_TEKTON                      enum FontID,  0x142b
    FID_BITSTREAM_VLADIMIR_SCRIPT       enum FontID,  0x342a
    FID_PS_VLADIMIR_SCRIPT              enum FontID,  0x242a
    FID_DTC_VLADIMIR_SCRIPT             enum FontID,  0x142a
    FID_BITSTREAM_VAN_DIJK              enum FontID,  0x3429
    FID_PS_VAN_DIJK                     enum FontID,  0x2429
    FID_DTC_VAN_DIJK                    enum FontID,  0x1429
    FID_BITSTREAM_SLOGAN                enum FontID,  0x3428
    FID_PS_SLOGAN                       enum FontID,  0x2428
    FID_DTC_SLOGAN                      enum FontID,  0x1428
    FID_BITSTREAM_SHAMROCK              enum FontID,  0x3427
    FID_PS_SHAMROCK                     enum FontID,  0x2427
    FID_DTC_SHAMROCK                    enum FontID,  0x1427
    FID_BITSTREAM_ROMAN_SCRIPT          enum FontID,  0x3426
    FID_PS_ROMAN_SCRIPT                 enum FontID,  0x2426
    FID_DTC_ROMAN_SCRIPT                enum FontID,  0x1426
    FID_BITSTREAM_RAGE                  enum FontID,  0x3425
    FID_PS_RAGE                         enum FontID,  0x2425
    FID_DTC_RAGE                        enum FontID,  0x1425
    FID_BITSTREAM_PRESENT_SCRIPT        enum FontID,  0x3424
    FID_PS_PRESENT_SCRIPT               enum FontID,  0x2424
    FID_DTC_PRESENT_SCRIPT              enum FontID,  0x1424
    FID_BITSTREAM_PHYLLIS_INITIALS      enum FontID,  0x3423
    FID_PS_PHYLLIS_INITIALS             enum FontID,  0x2423
    FID_DTC_PHYLLIS_INITIALS            enum FontID,  0x1423
    FID_BITSTREAM_PHYLLIS               enum FontID,  0x3422
    FID_PS_PHYLLIS                      enum FontID,  0x2422
    FID_DTC_PHYLLIS                     enum FontID,  0x1422
    FID_BITSTREAM_PEPITA                enum FontID,  0x3421
    FID_PS_PEPITA                       enum FontID,  0x2421
    FID_DTC_PEPITA                      enum FontID,  0x1421
    FID_BITSTREAM_PENDRY_SCRIPT         enum FontID,  0x3420
    FID_PS_PENDRY_SCRIPT                enum FontID,  0x2420
    FID_DTC_PENDRY_SCRIPT               enum FontID,  0x1420
    FID_BITSTREAM_PALETTE               enum FontID,  0x341f
    FID_PS_PALETTE                      enum FontID,  0x241f
    FID_DTC_PALETTE                     enum FontID,  0x141f
    FID_BITSTREAM_PALACE_SCRIPT         enum FontID,  0x341e
    FID_PS_PALACE_SCRIPT                enum FontID,  0x241e
    FID_DTC_PALACE_SCRIPT               enum FontID,  0x141e
    FID_BITSTREAM_NEVISON_CASUAL        enum FontID,  0x341d
    FID_PS_NEVISON_CASUAL               enum FontID,  0x241d
    FID_DTC_NEVISON_CASUAL              enum FontID,  0x141d
    FID_BITSTREAM_HILL                  enum FontID,  0x341c
    FID_PS_HILL                         enum FontID,  0x241c
    FID_DTC_HILL                        enum FontID,  0x141c
    FID_BITSTREAM_LINOSCRIPT            enum FontID,  0x341b
    FID_PS_LINOSCRIPT                   enum FontID,  0x241b
    FID_DTC_LINOSCRIPT                  enum FontID,  0x141b
    FID_BITSTREAM_LINDSAY               enum FontID,  0x341a
    FID_PS_LINDSAY                      enum FontID,  0x241a
    FID_DTC_LINDSAY                     enum FontID,  0x141a
    FID_BITSTREAM_LE_GRIFFE             enum FontID,  0x3419
    FID_PS_LE_GRIFFE                    enum FontID,  0x2419
    FID_DTC_LE_GRIFFE                   enum FontID,  0x1419
    FID_BITSTREAM_KUNSTLERSCHREIBSCHRIFT enum FontID,  0x3418
    FID_PS_KUNSTLERSCHREIBSCHRIFT       enum FontID,  0x2418
    FID_DTC_KUNSTLERSCHREIBSCHRIFT      enum FontID,  0x1418
    FID_BITSTREAM_JULIA_SCRIPT          enum FontID,  0x3417
    FID_PS_JULIA_SCRIPT                 enum FontID,  0x2417
    FID_DTC_JULIA_SCRIPT                enum FontID,  0x1417
    FID_BITSTREAM_ISBELL                enum FontID,  0x3416
    FID_PS_ISBELL                       enum FontID,  0x2416
    FID_DTC_ISBELL                      enum FontID,  0x1416
    FID_BITSTREAM_ISADORA               enum FontID,  0x3415
    FID_PS_ISADORA                      enum FontID,  0x2415
    FID_DTC_ISADORA                     enum FontID,  0x1415
    FID_BITSTREAM_HOGARTH_SCRIPT        enum FontID,  0x3414
    FID_PS_HOGARTH_SCRIPT               enum FontID,  0x2414
    FID_DTC_HOGARTH_SCRIPT              enum FontID,  0x1414
    FID_BITSTREAM_HARLOW                enum FontID,  0x3413
    FID_PS_HARLOW                       enum FontID,  0x2413
    FID_DTC_HARLOW                      enum FontID,  0x1413
    FID_BITSTREAM_GLASTONBURY           enum FontID,  0x3412
    FID_PS_GLASTONBURY                  enum FontID,  0x2412
    FID_DTC_GLASTONBURY                 enum FontID,  0x1412
    FID_BITSTREAM_GILLIES_GOTHIC        enum FontID,  0x3411
    FID_PS_GILLIES_GOTHIC               enum FontID,  0x2411
    FID_DTC_GILLIES_GOTHIC              enum FontID,  0x1411
    FID_BITSTREAM_FREESTYLE_SCRIPT      enum FontID,  0x3410
    FID_PS_FREESTYLE_SCRIPT             enum FontID,  0x2410
    FID_DTC_FREESTYLE_SCRIPT            enum FontID,  0x1410
    FID_BITSTREAM_ENGLISCHE_SCHREIBSCHRIFT enum FontID,  0x340f
    FID_PS_ENGLISCHE_SCHREIBSCHRIFT     enum FontID,  0x240f
    FID_DTC_ENGLISCHE_SCHREIBSCHRIFT    enum FontID,  0x140f
    FID_BITSTREAM_DEMIAN                enum FontID,  0x340e
    FID_PS_DEMIAN                       enum FontID,  0x240e
    FID_DTC_DEMIAN                      enum FontID,  0x140e
    FID_BITSTREAM_CANDICE               enum FontID,  0x340d
    FID_PS_CANDICE                      enum FontID,  0x240d
    FID_DTC_CANDICE                     enum FontID,  0x140d
    FID_BITSTREAM_BRONX                 enum FontID,  0x340c
    FID_PS_BRONX                        enum FontID,  0x240c
    FID_DTC_BRONX                       enum FontID,  0x140c
    FID_BITSTREAM_BRODY                 enum FontID,  0x340b
    FID_PS_BRODY                        enum FontID,  0x240b
    FID_DTC_BRODY                       enum FontID,  0x140b
    FID_BITSTREAM_BIBLE_SCRIPT          enum FontID,  0x340a
    FID_PS_BIBLE_SCRIPT                 enum FontID,  0x240a
    FID_DTC_BIBLE_SCRIPT                enum FontID,  0x140a
    FID_BITSTREAM_ARISTON               enum FontID,  0x3409
    FID_PS_ARISTON                      enum FontID,  0x2409
    FID_DTC_ARISTON                     enum FontID,  0x1409
    FID_BITSTREAM_ANGLIA                enum FontID,  0x3408
    FID_PS_ANGLIA                       enum FontID,  0x2408
    FID_DTC_ANGLIA                      enum FontID,  0x1408
    FID_BITSTREAM_MISTRAL               enum FontID,  0x3407
    FID_PS_MISTRAL                      enum FontID,  0x2407
    FID_DTC_MISTRAL                     enum FontID,  0x1407
    FID_BITSTREAM_BALMORAL              enum FontID,  0x3406
    FID_PS_BALMORAL                     enum FontID,  0x2406
    FID_DTC_BALMORAL                    enum FontID,  0x1406
    FID_BITSTREAM_COMMERCIAL_SCRIPT     enum FontID,  0x3405
    FID_PS_COMMERCIAL_SCRIPT            enum FontID,  0x2405
    FID_DTC_COMMERCIAL_SCRIPT           enum FontID,  0x1405
    FID_BITSTREAM_KAUFMANN              enum FontID,  0x3404
    FID_PS_KAUFMANN                     enum FontID,  0x2404
    FID_DTC_KAUFMANN                    enum FontID,  0x1404
    FID_BITSTREAM_PARK_AVENUE           enum FontID,  0x3403
    FID_PS_PARK_AVENUE                  enum FontID,  0x2403
    FID_DTC_PARK_AVENUE                 enum FontID,  0x1403
    FID_BITSTREAM_BRUSH_SCRIPT          enum FontID,  0x3402
    FID_PS_BRUSH_SCRIPT                 enum FontID,  0x2402
    FID_DTC_BRUSH_SCRIPT                enum FontID,  0x1402
    FID_BITSTREAM_VIVALDI               enum FontID,  0x3401
    FID_PS_VIVALDI                      enum FontID,  0x2401
    FID_DTC_VIVALDI                     enum FontID,  0x1401
    FID_BITSTREAM_ZAPF_CHANCERY         enum FontID,  0x3400
    FID_PS_ZAPF_CHANCERY                enum FontID,  0x2400
    FID_DTC_ZAPF_CHANCERY               enum FontID,  0x1400
    FID_BITSTREAM_AVANTE_GARDE_CONDENSED enum FontID,  0x323d
    FID_PS_AVANTE_GARDE_CONDENSED       enum FontID,  0x223d
    FID_DTC_AVANTE_GARDE_CONDENSED      enum FontID,  0x123d
    FID_BITSTREAM_INSIGNIA              enum FontID,  0x323c
    FID_PS_INSIGNIA                     enum FontID,  0x223c
    FID_DTC_INSIGNIA                    enum FontID,  0x123c
    FID_BITSTREAM_INDUSTRIA             enum FontID,  0x323b
    FID_PS_INDUSTRIA                    enum FontID,  0x223b
    FID_DTC_INDUSTRIA                   enum FontID,  0x123b
    FID_BITSTREAM_DORIC_BOLD            enum FontID,  0x323a
    FID_PS_DORIC_BOLD                   enum FontID,  0x223a
    FID_DTC_DORIC_BOLD                  enum FontID,  0x123a
    FID_BITSTREAM_AKZINDENZ_GROTESK     enum FontID,  0x3239
    FID_PS_AKZINDENZ_GROTESK            enum FontID,  0x2239
    FID_DTC_AKZINDENZ_GROTESK           enum FontID,  0x1239
    FID_BITSTREAM_GROTESK               enum FontID,  0x3238
    FID_PS_GROTESK                      enum FontID,  0x2238
    FID_DTC_GROTESK                     enum FontID,  0x1238
    FID_BITSTREAM_TEMPO                 enum FontID,  0x3237
    FID_PS_TEMPO                        enum FontID,  0x2237
    FID_DTC_TEMPO                       enum FontID,  0x1237
    FID_BITSTREAM_SYNTAX                enum FontID,  0x3236
    FID_PS_SYNTAX                       enum FontID,  0x2236
    FID_DTC_SYNTAX                      enum FontID,  0x1236
    FID_BITSTREAM_STONE_SANS            enum FontID,  0x3235
    FID_PS_STONE_SANS                   enum FontID,  0x2235
    FID_DTC_STONE_SANS                  enum FontID,  0x1235
    FID_BITSTREAM_SERIF_GOTHIC          enum FontID,  0x3234
    FID_PS_SERIF_GOTHIC                 enum FontID,  0x2234
    FID_DTC_SERIF_GOTHIC                enum FontID,  0x1234
    FID_BITSTREAM_PRIMUS_ANTIQUA        enum FontID,  0x3233
    FID_PS_PRIMUS_ANTIQUA               enum FontID,  0x2233
    FID_DTC_PRIMUS_ANTIQUA              enum FontID,  0x1233
    FID_BITSTREAM_PRIMUS                enum FontID,  0x3232
    FID_PS_PRIMUS                       enum FontID,  0x2232
    FID_DTC_PRIMUS                      enum FontID,  0x1232
    FID_BITSTREAM_PRAXIS                enum FontID,  0x3231
    FID_PS_PRAXIS                       enum FontID,  0x2231
    FID_DTC_PRAXIS                      enum FontID,  0x1231
    FID_BITSTREAM_PANACHE               enum FontID,  0x3230
    FID_PS_PANACHE                      enum FontID,  0x2230
    FID_DTC_PANACHE                     enum FontID,  0x1230
    FID_BITSTREAM_OCR_B                 enum FontID,  0x322f
    FID_PS_OCR_B                        enum FontID,  0x222f
    FID_DTC_OCR_B                       enum FontID,  0x122f
    FID_BITSTREAM_OCR_A                 enum FontID,  0x322e
    FID_PS_OCR_A                        enum FontID,  0x222e
    FID_DTC_OCR_A                       enum FontID,  0x122e
    FID_BITSTREAM_NEWTEXT               enum FontID,  0x322d
    FID_PS_NEWTEXT                      enum FontID,  0x222d
    FID_DTC_NEWTEXT                     enum FontID,  0x122d
    FID_BITSTREAM_NEWS_GOTHIC           enum FontID,  0x322c
    FID_PS_NEWS_GOTHIC                  enum FontID,  0x222c
    FID_DTC_NEWS_GOTHIC                 enum FontID,  0x122c
    FID_BITSTREAM_NEUZEIT_GROTESK       enum FontID,  0x322b
    FID_PS_NEUZEIT_GROTESK              enum FontID,  0x222b
    FID_DTC_NEUZEIT_GROTESK             enum FontID,  0x122b
    FID_BITSTREAM_MIXAGE                enum FontID,  0x322a
    FID_PS_MIXAGE                       enum FontID,  0x222a
    FID_DTC_MIXAGE                      enum FontID,  0x122a
    FID_BITSTREAM_MAXIMA                enum FontID,  0x3229
    FID_PS_MAXIMA                       enum FontID,  0x2229
    FID_DTC_MAXIMA                      enum FontID,  0x1229
    FID_BITSTREAM_LUCIDA_SANS           enum FontID,  0x3228
    FID_PS_LUCIDA_SANS                  enum FontID,  0x2228
    FID_DTC_LUCIDA_SANS                 enum FontID,  0x1228
    FID_BITSTREAM_LITERA                enum FontID,  0x3227
    FID_PS_LITERA                       enum FontID,  0x2227
    FID_DTC_LITERA                      enum FontID,  0x1227
    FID_BITSTREAM_KABEL                 enum FontID,  0x3226
    FID_PS_KABEL                        enum FontID,  0x2226
    FID_DTC_KABEL                       enum FontID,  0x1226
    FID_BITSTREAM_HOLSATIA              enum FontID,  0x3225
    FID_PS_HOLSATIA                     enum FontID,  0x2225
    FID_DTC_HOLSATIA                    enum FontID,  0x1225
    FID_BITSTREAM_HELVETICA_INSERAT     enum FontID,  0x3224
    FID_PS_HELVETICA_INSERAT            enum FontID,  0x2224
    FID_DTC_HELVETICA_INSERAT           enum FontID,  0x1224
    FID_BITSTREAM_NEUE_HELVETICA        enum FontID,  0x3223
    FID_PS_NEUE_HELVETICA               enum FontID,  0x2223
    FID_DTC_NEUE_HELVETICA              enum FontID,  0x1223
    FID_BITSTREAM_HELVETICA             enum FontID,  0x3222
    FID_PS_HELVETICA                    enum FontID,  0x2222
    FID_DTC_HELVETICA                   enum FontID,  0x1222
    FID_BITSTREAM_HAAS_UNICA            enum FontID,  0x3221
    FID_PS_HAAS_UNICA                   enum FontID,  0x2221
    FID_DTC_HAAS_UNICA                  enum FontID,  0x1221
    FID_BITSTREAM_GOUDY_SANS            enum FontID,  0x3220
    FID_PS_GOUDY_SANS                   enum FontID,  0x2220
    FID_DTC_GOUDY_SANS                  enum FontID,  0x1220
    FID_BITSTREAM_GOTHIC                enum FontID,  0x321f
    FID_PS_GOTHIC                       enum FontID,  0x221f
    FID_DTC_GOTHIC                      enum FontID,  0x121f
    FID_BITSTREAM_GILL_SANS             enum FontID,  0x321e
    FID_PS_GILL_SANS                    enum FontID,  0x221e
    FID_DTC_GILL_SANS                   enum FontID,  0x121e
    FID_BITSTREAM_GILL                  enum FontID,  0x321d
    FID_PS_GILL                         enum FontID,  0x221d
    FID_DTC_GILL                        enum FontID,  0x121d
    FID_BITSTREAM_FUTURA                enum FontID,  0x321c
    FID_PS_FUTURA                       enum FontID,  0x221c
    FID_DTC_FUTURA                      enum FontID,  0x121c
    FID_BITSTREAM_FOLIO                 enum FontID,  0x321b
    FID_PS_FOLIO                        enum FontID,  0x221b
    FID_DTC_FOLIO                       enum FontID,  0x121b
    FID_BITSTREAM_FLYER                 enum FontID,  0x321a
    FID_PS_FLYER                        enum FontID,  0x221a
    FID_DTC_FLYER                       enum FontID,  0x121a
    FID_BITSTREAM_FETTE_MIDSCHRIFT      enum FontID,  0x3219
    FID_PS_FETTE_MIDSCHRIFT             enum FontID,  0x2219
    FID_DTC_FETTE_MIDSCHRIFT            enum FontID,  0x1219
    FID_BITSTREAM_FETTE_ENGSCHRIFT      enum FontID,  0x3218
    FID_PS_FETTE_ENGSCHRIFT             enum FontID,  0x2218
    FID_DTC_FETTE_ENGSCHRIFT            enum FontID,  0x1218
    FID_BITSTREAM_ERAS                  enum FontID,  0x3217
    FID_PS_ERAS                         enum FontID,  0x2217
    FID_DTC_ERAS                        enum FontID,  0x1217
    FID_BITSTREAM_DIGI_GROTESK          enum FontID,  0x3216
    FID_PS_DIGI_GROTESK                 enum FontID,  0x2216
    FID_DTC_DIGI_GROTESK                enum FontID,  0x1216
    FID_BITSTREAM_CORINTHIAN            enum FontID,  0x3215
    FID_PS_CORINTHIAN                   enum FontID,  0x2215
    FID_DTC_CORINTHIAN                  enum FontID,  0x1215
    FID_BITSTREAM_COMPACTA              enum FontID,  0x3214
    FID_PS_COMPACTA                     enum FontID,  0x2214
    FID_DTC_COMPACTA                    enum FontID,  0x1214
    FID_BITSTREAM_CLEARFACE_GOTHIC      enum FontID,  0x3213
    FID_PS_CLEARFACE_GOTHIC             enum FontID,  0x2213
    FID_DTC_CLEARFACE_GOTHIC            enum FontID,  0x1213
    FID_BITSTREAM_OPTIMA                enum FontID,  0x3212
    FID_PS_OPTIMA                       enum FontID,  0x2212
    FID_DTC_OPTIMA                      enum FontID,  0x1212
    FID_BITSTREAM_CHELMSFORD            enum FontID,  0x3211
    FID_PS_CHELMSFORD                   enum FontID,  0x2211
    FID_DTC_CHELMSFORD                  enum FontID,  0x1211
    FID_BITSTREAM_CASTLE                enum FontID,  0x3210
    FID_PS_CASTLE                       enum FontID,  0x2210
    FID_DTC_CASTLE                      enum FontID,  0x1210
    FID_BITSTREAM_BRITANNIC             enum FontID,  0x320f
    FID_PS_BRITANNIC                    enum FontID,  0x220f
    FID_DTC_BRITANNIC                   enum FontID,  0x120f
    FID_BITSTREAM_BERLINER_GROTESK      enum FontID,  0x320e
    FID_PS_BERLINER_GROTESK             enum FontID,  0x220e
    FID_DTC_BERLINER_GROTESK            enum FontID,  0x120e
    FID_BITSTREAM_BENGUIAT_GOTHIC       enum FontID,  0x320d
    FID_PS_BENGUIAT_GOTHIC              enum FontID,  0x220d
    FID_DTC_BENGUIAT_GOTHIC             enum FontID,  0x120d
    FID_BITSTREAM_AVANTE_GARDE          enum FontID,  0x320c
    FID_PS_AVANTE_GARDE                 enum FontID,  0x220c
    FID_DTC_AVANTE_GARDE                enum FontID,  0x120c
    FID_BITSTREAM_ANZEIGEN_GROTESK      enum FontID,  0x320b
    FID_PS_ANZEIGEN_GROTESK             enum FontID,  0x220b
    FID_DTC_ANZEIGEN_GROTESK            enum FontID,  0x120b
    FID_BITSTREAM_ANTIQUE_OLIVE         enum FontID,  0x320a
    FID_PS_ANTIQUE_OLIVE                enum FontID,  0x220a
    FID_DTC_ANTIQUE_OLIVE               enum FontID,  0x120a
    FID_BITSTREAM_ALTERNATE_GOTHIC      enum FontID,  0x3209
    FID_PS_ALTERNATE_GOTHIC             enum FontID,  0x2209
    FID_DTC_ALTERNATE_GOTHIC            enum FontID,  0x1209
    FID_BITSTREAM_AKZIDENZ_GROTESK_BUCH enum FontID,  0x3208
    FID_PS_AKZIDENZ_GROTESK_BUCH        enum FontID,  0x2208
    FID_DTC_AKZIDENZ_GROTESK_BUCH       enum FontID,  0x1208
    FID_BITSTREAM_AKZIDENZ_GROTESK      enum FontID,  0x3207
    FID_PS_AKZIDENZ_GROTESK             enum FontID,  0x2207
    FID_DTC_AKZIDENZ_GROTESK            enum FontID,  0x1207
    FID_BITSTREAM_AVENIR                enum FontID,  0x3206
    FID_PS_AVENIR                       enum FontID,  0x2206
    FID_DTC_AVENIR                      enum FontID,  0x1206
    FID_BITSTREAM_UNIVERS               enum FontID,  0x3205
    FID_PS_UNIVERS                      enum FontID,  0x2205
    FID_DTC_UNIVERS                     enum FontID,  0x1205
    FID_BITSTREAM_FRANKLIN_GOTHIC       enum FontID,  0x3204
    FID_PS_FRANKLIN_GOTHIC              enum FontID,  0x2204
    FID_DTC_FRANKLIN_GOTHIC             enum FontID,  0x1204
    FID_BITSTREAM_ANGRO                 enum FontID,  0x3203
    FID_PS_ANGRO                        enum FontID,  0x2203
    FID_DTC_ANGRO                       enum FontID,  0x1203
    FID_BITSTREAM_EUROSTILE             enum FontID,  0x3202
    FID_PS_EUROSTILE                    enum FontID,  0x2202
    FID_DTC_EUROSTILE                   enum FontID,  0x1202
    FID_BITSTREAM_FRUTIGER              enum FontID,  0x3201
    FID_PS_FRUTIGER                     enum FontID,  0x2201
    FID_DTC_FRUTIGER                    enum FontID,  0x1201
    FID_BITSTREAM_URW_SANS              enum FontID,  0x3200
    FID_PS_URW_SANS                     enum FontID,  0x2200
    FID_DTC_URW_SANS                    enum FontID,  0x1200
    FID_BITSTREAM_GALLIARD_ROMAN_ITALIC enum FontID,  0x307e
    FID_PS_GALLIARD_ROMAN_ITALIC        enum FontID,  0x207e
    FID_DTC_GALLIARD_ROMAN_ITALIC       enum FontID,  0x107e
    FID_BITSTREAM_GRANJON               enum FontID,  0x307d
    FID_PS_GRANJON                      enum FontID,  0x207d
    FID_DTC_GRANJON                     enum FontID,  0x107d
    FID_BITSTREAM_GARTH_GRAPHIC         enum FontID,  0x307c
    FID_PS_GARTH_GRAPHIC                enum FontID,  0x207c
    FID_DTC_GARTH_GRAPHIC               enum FontID,  0x107c
    FID_BITSTREAM_BAUER_BODONI          enum FontID,  0x307b
    FID_PS_BAUER_BODONI                 enum FontID,  0x207b
    FID_DTC_BAUER_BODONI                enum FontID,  0x107b
    FID_BITSTREAM_BELWE                 enum FontID,  0x307a
    FID_PS_BELWE                        enum FontID,  0x207a
    FID_DTC_BELWE                       enum FontID,  0x107a
    FID_BITSTREAM_CHARLEMAGNE           enum FontID,  0x3079
    FID_PS_CHARLEMAGNE                  enum FontID,  0x2079
    FID_DTC_CHARLEMAGNE                 enum FontID,  0x1079
    FID_BITSTREAM_TRAJAN                enum FontID,  0x3078
    FID_PS_TRAJAN                       enum FontID,  0x2078
    FID_DTC_TRAJAN                      enum FontID,  0x1078
    FID_BITSTREAM_ADOBE_GARAMOND        enum FontID,  0x3077
    FID_PS_ADOBE_GARAMOND               enum FontID,  0x2077
    FID_DTC_ADOBE_GARAMOND              enum FontID,  0x1077
    FID_BITSTREAM_ZAPF_INTERNATIONAL    enum FontID,  0x3076
    FID_PS_ZAPF_INTERNATIONAL           enum FontID,  0x2076
    FID_DTC_ZAPF_INTERNATIONAL          enum FontID,  0x1076
    FID_BITSTREAM_ZAPF_BOOK             enum FontID,  0x3075
    FID_PS_ZAPF_BOOK                    enum FontID,  0x2075
    FID_DTC_ZAPF_BOOK                   enum FontID,  0x1075
    FID_BITSTREAM_WORCESTER_ROUND       enum FontID,  0x3074
    FID_PS_WORCESTER_ROUND              enum FontID,  0x2074
    FID_DTC_WORCESTER_ROUND             enum FontID,  0x1074
    FID_BITSTREAM_WINDSOR               enum FontID,  0x3073
    FID_PS_WINDSOR                      enum FontID,  0x2073
    FID_DTC_WINDSOR                     enum FontID,  0x1073
    FID_BITSTREAM_WEISS                 enum FontID,  0x3072
    FID_PS_WEISS                        enum FontID,  0x2072
    FID_DTC_WEISS                       enum FontID,  0x1072
    FID_BITSTREAM_WEIDEMANN             enum FontID,  0x3071
    FID_PS_WEIDEMANN                    enum FontID,  0x2071
    FID_DTC_WEIDEMANN                   enum FontID,  0x1071
    FID_BITSTREAM_WALBAUM               enum FontID,  0x3070
    FID_PS_WALBAUM                      enum FontID,  0x2070
    FID_DTC_WALBAUM                     enum FontID,  0x1070
    FID_BITSTREAM_VOLTA                 enum FontID,  0x306f
    FID_PS_VOLTA                        enum FontID,  0x206f
    FID_DTC_VOLTA                       enum FontID,  0x106f
    FID_BITSTREAM_VENDOME               enum FontID,  0x306e
    FID_PS_VENDOME                      enum FontID,  0x206e
    FID_DTC_VENDOME                     enum FontID,  0x106e
    FID_BITSTREAM_VELJOVIC              enum FontID,  0x306d
    FID_PS_VELJOVIC                     enum FontID,  0x206d
    FID_DTC_VELJOVIC                    enum FontID,  0x106d
    FID_BITSTREAM_ADOBE_UTOPIA          enum FontID,  0x306c
    FID_PS_ADOBE_UTOPIA                 enum FontID,  0x206c
    FID_DTC_ADOBE_UTOPIA                enum FontID,  0x106c
    FID_BITSTREAM_USHERWOOD             enum FontID,  0x306b
    FID_PS_USHERWOOD                    enum FontID,  0x206b
    FID_DTC_USHERWOOD                   enum FontID,  0x106b
    FID_BITSTREAM_URW_ANTIQUA           enum FontID,  0x306a
    FID_PS_URW_ANTIQUA                  enum FontID,  0x206a
    FID_DTC_URW_ANTIQUA                 enum FontID,  0x106a
    FID_BITSTREAM_TIMES_NEW_ROMAN       enum FontID,  0x3069
    FID_PS_TIMES_NEW_ROMAN              enum FontID,  0x2069
    FID_DTC_TIMES_NEW_ROMAN             enum FontID,  0x1069
    FID_BITSTREAM_TIMELESS              enum FontID,  0x3068
    FID_PS_TIMELESS                     enum FontID,  0x2068
    FID_DTC_TIMELESS                    enum FontID,  0x1068
    FID_BITSTREAM_TIFFANY               enum FontID,  0x3067
    FID_PS_TIFFANY                      enum FontID,  0x2067
    FID_DTC_TIFFANY                     enum FontID,  0x1067
    FID_BITSTREAM_TIEPOLO               enum FontID,  0x3066
    FID_PS_TIEPOLO                      enum FontID,  0x2066
    FID_DTC_TIEPOLO                     enum FontID,  0x1066
    FID_BITSTREAM_SWIFT                 enum FontID,  0x3065
    FID_PS_SWIFT                        enum FontID,  0x2065
    FID_DTC_SWIFT                       enum FontID,  0x1065
    FID_BITSTREAM_STYMIE                enum FontID,  0x3064
    FID_PS_STYMIE                       enum FontID,  0x2064
    FID_DTC_STYMIE                      enum FontID,  0x1064
    FID_BITSTREAM_STRATFORD             enum FontID,  0x3063
    FID_PS_STRATFORD                    enum FontID,  0x2063
    FID_DTC_STRATFORD                   enum FontID,  0x1063
    FID_BITSTREAM_STONE_SERIF           enum FontID,  0x3062
    FID_PS_STONE_SERIF                  enum FontID,  0x2062
    FID_DTC_STONE_SERIF                 enum FontID,  0x1062
    FID_BITSTREAM_STONE_INFORMAL        enum FontID,  0x3061
    FID_PS_STONE_INFORMAL               enum FontID,  0x2061
    FID_DTC_STONE_INFORMAL              enum FontID,  0x1061
    FID_BITSTREAM_STEMPEL_SCHNEIDLER    enum FontID,  0x3060
    FID_PS_STEMPEL_SCHNEIDLER           enum FontID,  0x2060
    FID_DTC_STEMPEL_SCHNEIDLER          enum FontID,  0x1060
    FID_BITSTREAM_SOUVENIR              enum FontID,  0x305f
    FID_PS_SOUVENIR                     enum FontID,  0x205f
    FID_DTC_SOUVENIR                    enum FontID,  0x105f
    FID_BITSTREAM_SLIMBACH              enum FontID,  0x305e
    FID_PS_SLIMBACH                     enum FontID,  0x205e
    FID_DTC_SLIMBACH                    enum FontID,  0x105e
    FID_BITSTREAM_SERIFA                enum FontID,  0x305d
    FID_PS_SERIFA                       enum FontID,  0x205d
    FID_DTC_SERIFA                      enum FontID,  0x105d
    FID_BITSTREAM_SABON_ANTIQUA         enum FontID,  0x305c
    FID_PS_SABON_ANTIQUA                enum FontID,  0x205c
    FID_DTC_SABON_ANTIQUA               enum FontID,  0x105c
    FID_BITSTREAM_SABON                 enum FontID,  0x305b
    FID_PS_SABON                        enum FontID,  0x205b
    FID_DTC_SABON                       enum FontID,  0x105b
    FID_BITSTREAM_ROMANA                enum FontID,  0x305a
    FID_PS_ROMANA                       enum FontID,  0x205a
    FID_DTC_ROMANA                      enum FontID,  0x105a
    FID_BITSTREAM_ROCKWELL              enum FontID,  0x3059
    FID_PS_ROCKWELL                     enum FontID,  0x2059
    FID_DTC_ROCKWELL                    enum FontID,  0x1059
    FID_BITSTREAM_RENAULT               enum FontID,  0x3058
    FID_PS_RENAULT                      enum FontID,  0x2058
    FID_DTC_RENAULT                     enum FontID,  0x1058
    FID_BITSTREAM_RALEIGH               enum FontID,  0x3057
    FID_PS_RALEIGH                      enum FontID,  0x2057
    FID_DTC_RALEIGH                     enum FontID,  0x1057
    FID_BITSTREAM_QUORUM                enum FontID,  0x3056
    FID_PS_QUORUM                       enum FontID,  0x2056
    FID_DTC_QUORUM                      enum FontID,  0x1056
    FID_BITSTREAM_PROTEUS               enum FontID,  0x3055
    FID_PS_PROTEUS                      enum FontID,  0x2055
    FID_DTC_PROTEUS                     enum FontID,  0x1055
    FID_BITSTREAM_PLANTIN               enum FontID,  0x3054
    FID_PS_PLANTIN                      enum FontID,  0x2054
    FID_DTC_PLANTIN                     enum FontID,  0x1054
    FID_BITSTREAM_PERPETUA              enum FontID,  0x3053
    FID_PS_PERPETUA                     enum FontID,  0x2053
    FID_DTC_PERPETUA                    enum FontID,  0x1053
    FID_BITSTREAM_PACELLA               enum FontID,  0x3052
    FID_PS_PACELLA                      enum FontID,  0x2052
    FID_DTC_PACELLA                     enum FontID,  0x1052
    FID_BITSTREAM_NOVARESE              enum FontID,  0x3051
    FID_PS_NOVARESE                     enum FontID,  0x2051
    FID_DTC_NOVARESE                    enum FontID,  0x1051
    FID_BITSTREAM_NIMROD                enum FontID,  0x3050
    FID_PS_NIMROD                       enum FontID,  0x2050
    FID_DTC_NIMROD                      enum FontID,  0x1050
    FID_BITSTREAM_NIKIS                 enum FontID,  0x304f
    FID_PS_NIKIS                        enum FontID,  0x204f
    FID_DTC_NIKIS                       enum FontID,  0x104f
    FID_BITSTREAM_NAPOLEAN              enum FontID,  0x304e
    FID_PS_NAPOLEAN                     enum FontID,  0x204e
    FID_DTC_NAPOLEAN                    enum FontID,  0x104e
    FID_BITSTREAM_MODERN_NO_216         enum FontID,  0x304d
    FID_PS_MODERN_NO_216                enum FontID,  0x204d
    FID_DTC_MODERN_NO_216               enum FontID,  0x104d
    FID_BITSTREAM_MODERN                enum FontID,  0x304c
    FID_PS_MODERN                       enum FontID,  0x204c
    FID_DTC_MODERN                      enum FontID,  0x104c
    FID_BITSTREAM_MINISTER              enum FontID,  0x304b
    FID_PS_MINISTER                     enum FontID,  0x204b
    FID_DTC_MINISTER                    enum FontID,  0x104b
    FID_BITSTREAM_MESSIDOR              enum FontID,  0x304a
    FID_PS_MESSIDOR                     enum FontID,  0x204a
    FID_DTC_MESSIDOR                    enum FontID,  0x104a
    FID_BITSTREAM_MERIDIEN              enum FontID,  0x3049
    FID_PS_MERIDIEN                     enum FontID,  0x2049
    FID_DTC_MERIDIEN                    enum FontID,  0x1049
    FID_BITSTREAM_MEMPHIS               enum FontID,  0x3048
    FID_PS_MEMPHIS                      enum FontID,  0x2048
    FID_DTC_MEMPHIS                     enum FontID,  0x1048
    FID_BITSTREAM_MELIOR                enum FontID,  0x3047
    FID_PS_MELIOR                       enum FontID,  0x2047
    FID_DTC_MELIOR                      enum FontID,  0x1047
    FID_BITSTREAM_MARCONI               enum FontID,  0x3046
    FID_PS_MARCONI                      enum FontID,  0x2046
    FID_DTC_MARCONI                     enum FontID,  0x1046
    FID_BITSTREAM_MAGNUS                enum FontID,  0x3045
    FID_PS_MAGNUS                       enum FontID,  0x2045
    FID_DTC_MAGNUS                      enum FontID,  0x1045
    FID_BITSTREAM_MAGNA                 enum FontID,  0x3044
    FID_PS_MAGNA                        enum FontID,  0x2044
    FID_DTC_MAGNA                       enum FontID,  0x1044
    FID_BITSTREAM_MADISON               enum FontID,  0x3043
    FID_PS_MADISON                      enum FontID,  0x2043
    FID_DTC_MADISON                     enum FontID,  0x1043
    FID_BITSTREAM_LUCIDA                enum FontID,  0x3042
    FID_PS_LUCIDA                       enum FontID,  0x2042
    FID_DTC_LUCIDA                      enum FontID,  0x1042
    FID_BITSTREAM_LUBALIN_GRAPH         enum FontID,  0x3041
    FID_PS_LUBALIN_GRAPH                enum FontID,  0x2041
    FID_DTC_LUBALIN_GRAPH               enum FontID,  0x1041
    FID_BITSTREAM_LIFE                  enum FontID,  0x3040
    FID_PS_LIFE                         enum FontID,  0x2040
    FID_DTC_LIFE                        enum FontID,  0x1040
    FID_BITSTREAM_LEAWOOD               enum FontID,  0x303f
    FID_PS_LEAWOOD                      enum FontID,  0x203f
    FID_DTC_LEAWOOD                     enum FontID,  0x103f
    FID_BITSTREAM_KORINNA               enum FontID,  0x303e
    FID_PS_KORINNA                      enum FontID,  0x203e
    FID_DTC_KORINNA                     enum FontID,  0x103e
    FID_BITSTREAM_JENSON_OLD_STYLE      enum FontID,  0x303d
    FID_PS_JENSON_OLD_STYLE             enum FontID,  0x203d
    FID_DTC_JENSON_OLD_STYLE            enum FontID,  0x103d
    FID_BITSTREAM_JANSON                enum FontID,  0x303c
    FID_PS_JANSON                       enum FontID,  0x203c
    FID_DTC_JANSON                      enum FontID,  0x103c
    FID_BITSTREAM_JAMILLE               enum FontID,  0x303b
    FID_PS_JAMILLE                      enum FontID,  0x203b
    FID_DTC_JAMILLE                     enum FontID,  0x103b
    FID_BITSTREAM_ITALIA                enum FontID,  0x303a
    FID_PS_ITALIA                       enum FontID,  0x203a
    FID_DTC_ITALIA                      enum FontID,  0x103a
    FID_BITSTREAM_IMPRESSUM             enum FontID,  0x3039
    FID_PS_IMPRESSUM                    enum FontID,  0x2039
    FID_DTC_IMPRESSUM                   enum FontID,  0x1039
    FID_BITSTREAM_HOLLANDER             enum FontID,  0x3038
    FID_PS_HOLLANDER                    enum FontID,  0x2038
    FID_DTC_HOLLANDER                   enum FontID,  0x1038
    FID_BITSTREAM_HIROSHIGE             enum FontID,  0x3037
    FID_PS_HIROSHIGE                    enum FontID,  0x2037
    FID_DTC_HIROSHIGE                   enum FontID,  0x1037
    FID_BITSTREAM_HAWTHORN              enum FontID,  0x3036
    FID_PS_HAWTHORN                     enum FontID,  0x2036
    FID_DTC_HAWTHORN                    enum FontID,  0x1036
    FID_BITSTREAM_GOUDY                 enum FontID,  0x3035
    FID_PS_GOUDY                        enum FontID,  0x2035
    FID_DTC_GOUDY                       enum FontID,  0x1035
    FID_BITSTREAM_GAMMA                 enum FontID,  0x3034
    FID_PS_GAMMA                        enum FontID,  0x2034
    FID_DTC_GAMMA                       enum FontID,  0x1034
    FID_BITSTREAM_GALLIARD              enum FontID,  0x3033
    FID_PS_GALLIARD                     enum FontID,  0x2033
    FID_DTC_GALLIARD                    enum FontID,  0x1033
    FID_BITSTREAM_FRIZ_QUADRATA         enum FontID,  0x3032
    FID_PS_FRIZ_QUADRATA                enum FontID,  0x2032
    FID_DTC_FRIZ_QUADRATA               enum FontID,  0x1032
    FID_BITSTREAM_FENICE                enum FontID,  0x3031
    FID_PS_FENICE                       enum FontID,  0x2031
    FID_DTC_FENICE                      enum FontID,  0x1031
    FID_BITSTREAM_EXCELSIOR             enum FontID,  0x3030
    FID_PS_EXCELSIOR                    enum FontID,  0x2030
    FID_DTC_EXCELSIOR                   enum FontID,  0x1030
    FID_BITSTREAM_ESPRIT                enum FontID,  0x302f
    FID_PS_ESPRIT                       enum FontID,  0x202f
    FID_DTC_ESPRIT                      enum FontID,  0x102f
    FID_BITSTREAM_ELAN                  enum FontID,  0x302e
    FID_PS_ELAN                         enum FontID,  0x202e
    FID_DTC_ELAN                        enum FontID,  0x102e
    FID_BITSTREAM_EGYPTIENNE            enum FontID,  0x302d
    FID_PS_EGYPTIENNE                   enum FontID,  0x202d
    FID_DTC_EGYPTIENNE                  enum FontID,  0x102d
    FID_BITSTREAM_EGIZIO                enum FontID,  0x302c
    FID_PS_EGIZIO                       enum FontID,  0x202c
    FID_DTC_EGIZIO                      enum FontID,  0x102c
    FID_BITSTREAM_EDWARDIAN             enum FontID,  0x302b
    FID_PS_EDWARDIAN                    enum FontID,  0x202b
    FID_DTC_EDWARDIAN                   enum FontID,  0x102b
    FID_BITSTREAM_EDISON                enum FontID,  0x302a
    FID_PS_EDISON                       enum FontID,  0x202a
    FID_DTC_EDISON                      enum FontID,  0x102a
    FID_BITSTREAM_DIGI_ANTIQUA          enum FontID,  0x3029
    FID_PS_DIGI_ANTIQUA                 enum FontID,  0x2029
    FID_DTC_DIGI_ANTIQUA                enum FontID,  0x1029
    FID_BITSTREAM_DEMOS                 enum FontID,  0x3028
    FID_PS_DEMOS                        enum FontID,  0x2028
    FID_DTC_DEMOS                       enum FontID,  0x1028
    FID_BITSTREAM_CUSHING               enum FontID,  0x3027
    FID_PS_CUSHING                      enum FontID,  0x2027
    FID_DTC_CUSHING                     enum FontID,  0x1027
    FID_BITSTREAM_CORONA                enum FontID,  0x3026
    FID_PS_CORONA                       enum FontID,  0x2026
    FID_DTC_CORONA                      enum FontID,  0x1026
    FID_BITSTREAM_CONGRESS              enum FontID,  0x3025
    FID_PS_CONGRESS                     enum FontID,  0x2025
    FID_DTC_CONGRESS                    enum FontID,  0x1025
    FID_BITSTREAM_CONCORDE_NOVA         enum FontID,  0x3024
    FID_PS_CONCORDE_NOVA                enum FontID,  0x2024
    FID_DTC_CONCORDE_NOVA               enum FontID,  0x1024
    FID_BITSTREAM_CONCORDE              enum FontID,  0x3023
    FID_PS_CONCORDE                     enum FontID,  0x2023
    FID_DTC_CONCORDE                    enum FontID,  0x1023
    FID_BITSTREAM_CLEARFACE             enum FontID,  0x3022
    FID_PS_CLEARFACE                    enum FontID,  0x2022
    FID_DTC_CLEARFACE                   enum FontID,  0x1022
    FID_BITSTREAM_CLARENDON             enum FontID,  0x3021
    FID_PS_CLARENDON                    enum FontID,  0x2021
    FID_DTC_CLARENDON                   enum FontID,  0x1021
    FID_BITSTREAM_CHELTENHAM            enum FontID,  0x3020
    FID_PS_CHELTENHAM                   enum FontID,  0x2020
    FID_DTC_CHELTENHAM                  enum FontID,  0x1020
    FID_BITSTREAM_CENTURY_OLD_STYLE     enum FontID,  0x301f
    FID_PS_CENTURY_OLD_STYLE            enum FontID,  0x201f
    FID_DTC_CENTURY_OLD_STYLE           enum FontID,  0x101f
    FID_BITSTREAM_CENTURY               enum FontID,  0x301e
    FID_PS_CENTURY                      enum FontID,  0x201e
    FID_DTC_CENTURY                     enum FontID,  0x101e
    FID_BITSTREAM_CENTENNIAL            enum FontID,  0x301d
    FID_PS_CENTENNIAL                   enum FontID,  0x201d
    FID_DTC_CENTENNIAL                  enum FontID,  0x101d
    FID_BITSTREAM_CAXTON                enum FontID,  0x301c
    FID_PS_CAXTON                       enum FontID,  0x201c
    FID_DTC_CAXTON                      enum FontID,  0x101c
    FID_BITSTREAM_ADOBE_CASLON          enum FontID,  0x301b
    FID_PS_ADOBE_CASLON                 enum FontID,  0x201b
    FID_DTC_ADOBE_CASLON                enum FontID,  0x101b
    FID_BITSTREAM_CASLON                enum FontID,  0x301a
    FID_PS_CASLON                       enum FontID,  0x201a
    FID_DTC_CASLON                      enum FontID,  0x101a
    FID_BITSTREAM_CANDIDA               enum FontID,  0x3019
    FID_PS_CANDIDA                      enum FontID,  0x2019
    FID_DTC_CANDIDA                     enum FontID,  0x1019
    FID_BITSTREAM_BOOKMAN               enum FontID,  0x3018
    FID_PS_BOOKMAN                      enum FontID,  0x2018
    FID_DTC_BOOKMAN                     enum FontID,  0x1018
    FID_BITSTREAM_BASKERVILLE_HANDCUT   enum FontID,  0x3017
    FID_PS_BASKERVILLE_HANDCUT          enum FontID,  0x2017
    FID_DTC_BASKERVILLE_HANDCUT         enum FontID,  0x1017
    FID_BITSTREAM_BASKERVILLE           enum FontID,  0x3016
    FID_PS_BASKERVILLE                  enum FontID,  0x2016
    FID_DTC_BASKERVILLE                 enum FontID,  0x1016
    FID_BITSTREAM_BASILIA               enum FontID,  0x3015
    FID_PS_BASILIA                      enum FontID,  0x2015
    FID_DTC_BASILIA                     enum FontID,  0x1015
    FID_BITSTREAM_BARBEDOR              enum FontID,  0x3014
    FID_PS_BARBEDOR                     enum FontID,  0x2014
    FID_DTC_BARBEDOR                    enum FontID,  0x1014
    FID_BITSTREAM_AUREALIA              enum FontID,  0x3013
    FID_PS_AUREALIA                     enum FontID,  0x2013
    FID_DTC_AUREALIA                    enum FontID,  0x1013
    FID_BITSTREAM_NEW_ASTER             enum FontID,  0x3012
    FID_PS_NEW_ASTER                    enum FontID,  0x2012
    FID_DTC_NEW_ASTER                   enum FontID,  0x1012
    FID_BITSTREAM_ASTER                 enum FontID,  0x3011
    FID_PS_ASTER                        enum FontID,  0x2011
    FID_DTC_ASTER                       enum FontID,  0x1011
    FID_BITSTREAM_AMERICANA             enum FontID,  0x3010
    FID_PS_AMERICANA                    enum FontID,  0x2010
    FID_DTC_AMERICANA                   enum FontID,  0x1010
    FID_BITSTREAM_AACHEN                enum FontID,  0x300f
    FID_PS_AACHEN                       enum FontID,  0x200f
    FID_DTC_AACHEN                      enum FontID,  0x100f
    FID_BITSTREAM_NICOLAS_COCHIN        enum FontID,  0x300e
    FID_PS_NICOLAS_COCHIN               enum FontID,  0x200e
    FID_DTC_NICOLAS_COCHIN              enum FontID,  0x100e
    FID_BITSTREAM_COCHIN                enum FontID,  0x300d
    FID_PS_COCHIN                       enum FontID,  0x200d
    FID_DTC_COCHIN                      enum FontID,  0x100d
    FID_BITSTREAM_ALBERTUS              enum FontID,  0x300c
    FID_PS_ALBERTUS                     enum FontID,  0x200c
    FID_DTC_ALBERTUS                    enum FontID,  0x100c
    FID_BITSTREAM_ACCOLADE              enum FontID,  0x300b
    FID_PS_ACCOLADE                     enum FontID,  0x200b
    FID_DTC_ACCOLADE                    enum FontID,  0x100b
    FID_BITSTREAM_PALATINO              enum FontID,  0x300a
    FID_PS_PALATINO                     enum FontID,  0x200a
    FID_DTC_PALATINO                    enum FontID,  0x100a
    FID_BITSTREAM_GOUDY_OLD_STYLE       enum FontID,  0x3009
    FID_PS_GOUDY_OLD_STYLE              enum FontID,  0x2009
    FID_DTC_GOUDY_OLD_STYLE             enum FontID,  0x1009
    FID_BITSTREAM_BERKELEY_OLD_STYLE    enum FontID,  0x3008
    FID_PS_BERKELEY_OLD_STYLE           enum FontID,  0x2008
    FID_DTC_BERKELEY_OLD_STYLE          enum FontID,  0x1008
    FID_BITSTREAM_ARSIS                 enum FontID,  0x3007
    FID_PS_ARSIS                        enum FontID,  0x2007
    FID_DTC_ARSIS                       enum FontID,  0x1007
    FID_BITSTREAM_UNIVERSITY_ROMAN      enum FontID,  0x3006
    FID_PS_UNIVERSITY_ROMAN             enum FontID,  0x2006
    FID_DTC_UNIVERSITY_ROMAN            enum FontID,  0x1006
    FID_BITSTREAM_BEMBO                 enum FontID,  0x3005
    FID_PS_BEMBO                        enum FontID,  0x2005
    FID_DTC_BEMBO                       enum FontID,  0x1005
    FID_BITSTREAM_GARAMOND              enum FontID,  0x3004
    FID_PS_GARAMOND                     enum FontID,  0x2004
    FID_DTC_GARAMOND                    enum FontID,  0x1004
    FID_BITSTREAM_GLYPHA                enum FontID,  0x3003
    FID_PS_GLYPHA                       enum FontID,  0x2003
    FID_DTC_GLYPHA                      enum FontID,  0x1003
    FID_BITSTREAM_BODONI                enum FontID,  0x3002
    FID_PS_BODONI                       enum FontID,  0x2002
    FID_DTC_BODONI                      enum FontID,  0x1002
    FID_BITSTREAM_CENTURY_SCHOOLBOOK    enum FontID,  0x3001
    FID_PS_CENTURY_SCHOOLBOOK           enum FontID,  0x2001
    FID_DTC_CENTURY_SCHOOLBOOK          enum FontID,  0x1001
    FID_BITSTREAM_URW_ROMAN             enum FontID,  0x3000
    FID_PS_TIMES_ROMAN                  enum FontID,  0x2000
    FID_DTC_URW_ROMAN                   enum FontID,  0x1000
    FID_WINDOWS                         enum FontID,  0x0a01
    FID_BISON                           enum FontID,  0x0a00
    FID_LED                             enum FontID,  0x0600
    FID_PMSYSTEM                        enum FontID,  0x0203
    FID_BERKELEY                        enum FontID,  0x0202
    FID_UNIVERSITY                      enum FontID,  0x0201
    FID_CHICAGO                         enum FontID,  0x0200
    FID_ROMA                            enum FontID,  0x0001

The lower twelve bits for any particular font face are the same. (For example SCHOOLBOOK faces end with 001. The first 4 bits define the particular maker. Thus, each particular face may have up to 16 different makers.

The only exceptions to this naming scheme are the printer and bitstream fonts, and FID_INVALID, which is a special case and is set to all zeros.

Library: fontID.def


FontIDRecord

FontIDRecord            record
    FIDR_maker      :4
    FIDR_ID         :12
FontIDRecord            end

Library: font.def


FontMaker

FontMaker       etype       word, 0, FID_MAKER_DIVISIONS
    FM_BITMAP           enum FontMaker
    FM_NIMBUSQ          enum FontMaker
    FM_ADOBE            enum FontMaker
    FM_BITSTREAM        enum FontMaker
    FM_AGFA             enum FontMaker
    FM_PUBLIC           enum FontMaker, 0xc000
    FM_ATECH            enum FontMaker, 0xd000
    FM_MICROLOGIC       enum FontMaker, 0xe000
    FM_PRINTER          enum FontMaker, 0xf000

Library: fontID.def


FontMap

FontMap etype   byte, 0
    FM_EXACT        enum FontMap, 0
    FM_DONT_USE     enum FontMap, 0xff

Library: fontID.def


FontOrientation

FontOrientation     etype   byte
    FO_NORMAL       enum FontOrientation    ; normal straight up & down font
    FO_LANDSCAPE    enum FontOrientation    ; rotated 90 degrees.

Library: font.def


FontPitch

FontPitch       etype       byte
    FP_PROPORTIONAL     enum FontPitch  ; proportional font.
    FP_FIXED            enum FontPitch  ; Fixed pitch font.

Library: font.def


FontSource

FontSource      etype   byte
    FS_BITMAP       enum FontSource     ; bitmap data
    FS_OUTLINE      enum FontSource     ; outline data

Library: font.def


FontUseful

FontUseful      etype   byte
    FU_NOT_USEFUL   enum FontUseful     ; not useful for menus
    FU_USEFUL       enum FontUseful     ; useful for menus

Library: font.def


FontWeight

FontWeight      etype   byte
    FW_MINIMUM      enum FontWeight, 75
    FW_NORMAL       enum FontWeight, 100
    FW_MAXIMUM      enum FontWeight, 125

Library: font.def


FontWidth

FontWidth       etype       byte
    FWI_MINIMUM         enum FontWidth, 25
    FWI_NARROW          enum FontWidth, 75
    FWI_CONDENSED       enum FontWidth, 85
    FWI_MEDIUM          enum FontWidth, 100
    FWI_WIDE            enum FontWidth, 125
    FWI_EXPANDED        enum FontWidth, 150
    FWI_MAXIMUM         enum FontWidth, 200

This type defines the width of the font as a percentage of its normal width.

Library: font.def


FormatArrayHeader

FormatArrayHeader       struc
    FAH_signature           word
    FAH_numFormatEntries    word    ; format array entries that have
                                    ; been allocated (possibly free)
    FAH_numUserDefEntries   word
    FAH_formatArrayEnd      word    ;offset to end of format array
FormatArrayHeader       ends

Library: math.def


FormatEntry

FormatEntry     struc
    FE_params           FormatParams
    FE_listEntryNumber  word        ; list entry number
                                    ; This will allow us to get the right
                                    ; entry given the list entry
    FE_used             byte        ; boolean, 0 if entry is free
    FE_sig              word        ; signature for EC purposes
FormatEntry     ends

Library: math.def


FormatError

FormatError     etype   word
    FMT_DONE                            enum FormatError, 0
    FMT_READY                           enum FormatError
    FMT_RUNNING                         enum FormatError
    FMT_DRIVE_NOT_READY                 enum FormatError
    FMT_ERR_WRITING_BOOT                enum FormatError
    FMT_ERR_WRITING_ROOT_DIR            enum FormatError
    FMT_ERR_WRITING_FAT                 enum FormatError
    FMT_ABORTED                         enum FormatError
    FMT_SET_VOLUME_NAME_ERR             enum FormatError
    FMT_CANNOT_FORMAT_FIXED_DISKS_IN_CUR_RELEASE enum FormatError
    FMT_BAD_PARTITION_TABLE             enum FormatError ;fixed disk
    FMT_ERR_READING_PARTITION_TABLE     enum FormatError ;fixed disk
    FMT_ERR_NO_PARTITION_FOUND          enum FormatError ;fixed disk
    FMT_ERR_MULTIPLE_PRIMARY_PARTITIONS enum FormatError ;fixed disk
    FMT_ERR_NO_EXTENDED_PARTITION_FOUND enum FormatError ;fixed disk
    FMT_ERR_CANNOT_ALLOC_SECTOR_BUFFER  enum FormatError
    FMT_ERR_DISK_IS_IN_USE              enum FormatError
    FMT_ERR_WRITE_PROTECTED             enum FormatError
    FMT_ERR_DRIVE_CANNOT_SUPPORT_GIVEN_FORMAT enum FormatError
    FMT_ERR_INVALID_DRIVE_SPECIFIED     enum FormatError
    FMT_ERR_DRIVE_CANNOT_BE_FORMATTED   enum FormatError
    FMT_ERR_DISK_UNAVAILABLE            enum FormatError
    FMT_ERR_CANNOT_FORMAT_TRACK         enum FormatError ; catch-all

Library: disk.def


FormatInfoStruc

FormatInfoStruc     struc
    FIS_signature                   word
    FIS_userDefFmtArrayFileHan      word
    FIS_userDefFmtArrayBlkHan       word
    FIS_childBlk                    word
    FIS_chooseFmtListChunk          word
    FIS_features                    FFCFeatures
    FIS_editFlag                    byte
    FIS_curSelection                word
    FIS_curToken                    word
    FIS_curParams                   FormatParams
FormatInfoStruc     ends

This structure is passed as a block to the Float Format create and edit code. This structure is used by the Float Format controller to specify the specific format to act on.

When passed to routines, FIS_userDefFmtArrayFileHan and FIS_userDefFmtArrayBlkHan must be properly set up to hold the VM file and block handles of the user-defined format array.

FIS_signature stores internal signatures used by error-checking code.

FIS_userDefFmtArrayFileHan stores the VM file handle of the user-defined format array. This must be properly set up even if no user-defined formats are to be used.

FIS_userDefFmtArrayBlkHan stores the VM block handle of the user-defined format array. This must be properly set up even if no user-defined formats are to be used.

FIS_childBlk and FIS_chooseFmtListChunk store the optr to the dynamic list object within the Float Format controller.

FIS_features stores the features list of the Float Format controller.

FIS_editFlag stores a non-zero value if the format entry is currently being used. If this entry is later freed, this edit flag is set to zero to indicate that this entry is available for other formats.

FIS_curSelection stores the current selection of the Float Format controller’s dynamic list.

FIS_curToken stores the current FormatIdType of the format entry. In many cases, this token is passed in this structure and FIS_curParams is filled in with the matching FormatParams.

FIS_curParams stores the current FormatParams of the format entry.

Library: math.def


FormatNameParams

FormatNameParams        struct
    FNP_listEntry   word                ; the entry number in the defined 
                                        ; list
    FNP_textLength  word                ; length of the format name
    FNP_text        byte FORMAT_NAME_LENGTH dup (?)
    FNP_token       word                ; the token of the format
    align           word
FormatNameParams        ends

Library: math.def


FormatOption

FormatOption        record
                            :2
    FO_COMMA                :1
    FO_PCT                  :1
    FO_LEAD_ZERO            :1
    FO_TRAIL_ZERO           :1
    FO_HEADER_SIGN_POS      :1
    FO_TRAILER_SIGN_POS     :1
FormatOption        end

Library: math.def


FormatParams

FormatParams        struc
    FP_params           FloatFloatToAsciiParams_Union
    FP_formatName       char FORMAT_NAME_LENGTH+1 dup (?)
    FP_nameHan          word
    FP_nameOff          word
    FP_listEntryNum     word
    FP_signature        word                    ; internal
FormatParams        ends

This structure stores the formatting parameters used by the Float Format controller to format FP numbers into text.

FP_params stores the FloatFloatToAscii parameters to use when formatting the FP number into text.

FP_formatName stores the text name of the format entry to display in the Float Format controller’s dynamic list. This text is stored at the optr defined by FP_nameHan and FP_nameOff.

FP_nameHan and FP_nameOff store the optr to the text strings where the format names are kept.

FP_listEntryNumber stores the zero-based position of the format entry within the dynamic list.

Library: parse.def


FormatParameters

FormatParameters        struct
    FP_common       CommonParameters <>
    FP_nChars       word                ; Number of bytes left in the buffer.
FormatParameters        ends

Library: parse.def


FRSPFlags

FRSPFlags       record
                                    :14
    FRSPF_ADD_DRIVE_NAME            :1
    FRSPF_RETURN_FIRST_DIR          :1
FRSPFlags       end

FRSPF_ADD_DRIVE_NAME
Set if FileResolveStandardPath should prepend name of the drive in which the file or directory was found to the path.

FRSPF_RETURN_FIRST_DIR
Set if FileResolveStandardPath should not check to see whether the passed path actually exists, but instead assume it exists in the first existing directory along the standard path.

Library: file.def


FTVMCGrab

FTVMCGrab       struct
    FTVMC_OD            optr
    FTVMC_flags         MetaAlterFTVMCExclFlags
FTVMCGrab       ends

This structure is a variation on the basic MetaAlterFTVMCExclFlags record, adding the optr of the Focus/Target/Model hierarchical grab.

Library: uiInputC.def


FunctionID

FunctionID      etype   word, 0, 2
    FUNCTION_ID_ABS                 enum FunctionID
    FUNCTION_ID_ACOS                enum FunctionID
    FUNCTION_ID_ACOSH               enum FunctionID
    FUNCTION_ID_AND                 enum FunctionID
    FUNCTION_ID_ASIN                enum FunctionID
    FUNCTION_ID_ASINH               enum FunctionID
    FUNCTION_ID_ATAN                enum FunctionID
    FUNCTION_ID_ATAN2               enum FunctionID
    FUNCTION_ID_ATANH               enum FunctionID
    FUNCTION_ID_AVG                 enum FunctionID
    FUNCTION_ID_CHAR                enum FunctionID
    FUNCTION_ID_CHOOSE              enum FunctionID
    FUNCTION_ID_CLEAN               enum FunctionID
    FUNCTION_ID_CODE                enum FunctionID
    FUNCTION_ID_COLS                enum FunctionID
    FUNCTION_ID_COS                 enum FunctionID
    FUNCTION_ID_COSH                enum FunctionID
    FUNCTION_ID_COUNT               enum FunctionID
    FUNCTION_ID_CTERM               enum FunctionID
    FUNCTION_ID_DATE                enum FunctionID
    FUNCTION_ID_DATEVALUE           enum FunctionID
    FUNCTION_ID_DAY                 enum FunctionID
    FUNCTION_ID_DDB                 enum FunctionID
    FUNCTION_ID_ERR                 enum FunctionID
    FUNCTION_ID_EXACT               enum FunctionID
    FUNCTION_ID_EXP                 enum FunctionID
    FUNCTION_ID_FACT                enum FunctionID
    FUNCTION_ID_FALSE               enum FunctionID
    FUNCTION_ID_FIND                enum FunctionID
    FUNCTION_ID_FV                  enum FunctionID
    FUNCTION_ID_HLOOKUP             enum FunctionID
    FUNCTION_ID_HOUR                enum FunctionID
    FUNCTION_ID_IF                  enum FunctionID
    FUNCTION_ID_INDEX               enum FunctionID
    FUNCTION_ID_INT                 enum FunctionID
    FUNCTION_ID_IRR                 enum FunctionID
    FUNCTION_ID_ISERR               enum FunctionID
    FUNCTION_ID_ISNUMBER            enum FunctionID
    FUNCTION_ID_ISSTRING            enum FunctionID
    FUNCTION_ID_LEFT                enum FunctionID
    FUNCTION_ID_LENGTH              enum FunctionID
    FUNCTION_ID_LN                  enum FunctionID
    FUNCTION_ID_LOG                 enum FunctionID
    FUNCTION_ID_LOWER               enum FunctionID
    FUNCTION_ID_MAX                 enum FunctionID
    FUNCTION_ID_MID                 enum FunctionID
    FUNCTION_ID_MIN                 enum FunctionID
    FUNCTION_ID_MINUTE              enum FunctionID
    FUNCTION_ID_MOD                 enum FunctionID
    FUNCTION_ID_MONTH               enum FunctionID
    FUNCTION_ID_N                   enum FunctionID
    FUNCTION_ID_NA                  enum FunctionID
    FUNCTION_ID_NOW                 enum FunctionID
    FUNCTION_ID_NPV                 enum FunctionID
    FUNCTION_ID_OR                  enum FunctionID
    FUNCTION_ID_PI                  enum FunctionID
    FUNCTION_ID_PMT                 enum FunctionID
    FUNCTION_ID_PRODUCT             enum FunctionID
    FUNCTION_ID_PROPER              enum FunctionID
    FUNCTION_ID_PV                  enum FunctionID
    FUNCTION_ID_RANDOM_N            enum FunctionID
    FUNCTION_ID_RANDOM              enum FunctionID
    FUNCTION_ID_RATE                enum FunctionID
    FUNCTION_ID_REPEAT              enum FunctionID
    FUNCTION_ID_REPLACE             enum FunctionID
    FUNCTION_ID_RIGHT               enum FunctionID
    FUNCTION_ID_ROUND               enum FunctionID
    FUNCTION_ID_ROWS                enum FunctionID
    FUNCTION_ID_SECOND              enum FunctionID
    FUNCTION_ID_SIN                 enum FunctionID
    FUNCTION_ID_SINH                enum FunctionID
    FUNCTION_ID_SLN                 enum FunctionID
    FUNCTION_ID_SQRT                enum FunctionID
    FUNCTION_ID_STD                 enum FunctionID
    FUNCTION_ID_STDP                enum FunctionID
    FUNCTION_ID_STRING              enum FunctionID
    FUNCTION_ID_SUM                 enum FunctionID
    FUNCTION_ID_SYD                 enum FunctionID
    FUNCTION_ID_TAN                 enum FunctionID
    FUNCTION_ID_TANH                enum FunctionID
    FUNCTION_ID_TERM                enum FunctionID
    FUNCTION_ID_TIME                enum FunctionID
    FUNCTION_ID_TIMEVALUE           enum FunctionID
    FUNCTION_ID_TODAY               enum FunctionID
    FUNCTION_ID_TRIM                enum FunctionID
    FUNCTION_ID_TRUE                enum FunctionID
    FUNCTION_ID_TRUNC               enum FunctionID
    FUNCTION_ID_UPPER               enum FunctionID
    FUNCTION_ID_VALUE               enum FunctionID
    FUNCTION_ID_VAR                 enum FunctionID
    FUNCTION_ID_VARP                enum FunctionID
    FUNCTION_ID_VLOOKUP             enum FunctionID
    FUNCTION_ID_WEEKDAY             enum FunctionID
    FUNCTION_ID_YEAR                enum FunctionID
    FUNCTION_ID_FILENAME            enum FunctionID
    FUNCTION_ID_PAGE                enum FunctionID
    FUNCTION_ID_PAGES               enum FunctionID
    FUNCTION_ID_DEGREES             enum FunctionID
    FUNCTION_ID_RADIANS             enum FunctionID
    ;
    ; External functions (defined by the application) start here.
    ;
    FUNCTION_ID_FIRST_EXTERNAL_FUNCTION enum    FunctionID, 0x8000

Library: parse.def


FunctionType

FunctionType        record
        :7
    FT_PRINT            :1
    FT_TRIGONOMETRIC    :1
    FT_LOGICAL          :1
    FT_STATISTICAL      :1
    FT_STRING           :1
    FT_TIME_DATE        :1
    FT_FINANCIAL        :1
    FT_MATH             :1
    FT_INFORMATION      :1
FunctionType        end

Library: parse.def

Structures A-C <– Table of Contents    –> Structures G-G