! ASHELL.DEF [305]  ! Standard A-Shell symbols (new format)
!-------------------.-------------------.-------------------.-------------------.
!EDIT HISTORY
! Note: history reformatted 9-Feb-17
! [305] 25-Sep-23 19:12 / jdm / Add AG_GETLOCALE
! [304] 24-Aug-23 10:40 /jdm/ Add/update AG_DPM thru AG_DIRCLEAN, MX_AS3264 thru MX_DIRCLEAN
! [303] 07-Feb-22 13:21 /jdm/ Add SORT_ flags 
! [302] 02-Jul-21 13:40 /jdm/ MX_DRAGDROP
! [301] 18-May-21 14:00 /jdm/ Add SBRF_INFLD_NOPRINTS 
! [300] 01-Feb-21 22:24 /jdm/ Add OFN_FORCEPREVIEWPANEON
! [299] 21-Jan-21 11:26 /jdm/ Add MBX_TI#
! [298] 24-Oct-20 15:31 /jdm/ Add CLF2_NTTS, CLF2_DPM, CLF2_ZATE, FDVF_SPANBLOCKS
! [297] 25-Aug-20 17:01 /jdm/ Add FDVF_xxx
! [296] 05-Jun-20 08:24 /jdm/ Add SBRF2_XTREE_CSV2XLSX
! [295] 10-May-20 16:22 /jdm/ Add TCPXFLG_UDP, TCPOP_READ_UDP, TCPOP_WRITE_UDP 
! [294] 31-Oct-19 00:15 /jdm/ Add MX_FILETIMES
! [293] 24-Jul-18 20:35 /jdm/ Add MX_FILEVAR 
! [292] 23-Jun-19 17:29 /jdm/ Add XFTPF_RENAME
! [291] 17-Jun-19 16:56 /jdm/ Add XFTPF_DIR 
! [290] 11-May-19 12:18 /jdm/ Add MX_GETWINFILEVER 
! [289] 22-Apr-19 11:19 /jdm/ Add IJULIAN_EPOCH_OFFSET 
! [288] 19-Apr-19 07:24 /jdm/ Add SBRF2_XTREE_EXPCSV2XL 
! [287] 06-Apr-10 16:35 /jdm/ MBX_RCBTNO, MBX_FRCTXT added 
! [286] 03-Mar-19 22:07 /jdm/ Add IFE_NZB, IFE_NB, IFE_TRUE, IFE_FALSE 
! [285] 26-Feb-19 22:08 /jdm/ Add EDITF_SPZ 
! [284] 22-Sep-18 13:20 /jdm/ Add EVW_BGFOCUS 
! [283] 19-Sep-18 17:55 /jdm/ Add MX_DYNFUNC 
! [282] 28-Aug-18 15:05 /jdm/ Add MX_DYNSTRUCT 
! [281] 15-Aug-18 22:00 /jdm/ Add GOP2_XTAUTOFILTER 
! [280] 12-Jun-18 11:57 /jdm/ Add MX_SRCHPATH 
! [279] 19-Feb-18 18:00 /jdm/ Add SPSW_NOSAVESTATE 
! [278] 20-Dec-17 14:04 /jdm/ Add ARGTYP_COLL
! [277] 30-Sep-17 14:32 /jdm/ Add CGIOP_OPENSOCKET 
! [276] 15-Jul-17 14:07 /jdm/ Add ARGTYP_READONLY, ARGTYP_DIMX
! [275] 06-Jul-17 07:01 /jdm/ Add IDM_SCROLLBACK, AG_SCROLLBACK, GOP_AUTODLGSTATE, GOP2_FSPECNATIVE
! [274] 18-May-17 10:40 /jdm/ Add SR_SYSCALL
! [273] 11-Feb-17 16:24 /jdm/ Add XFTPF_SYNC symbols
! [272] 06-Feb-17 16:02 /jdm/ Update the EF_xxx symbols; 
!                               remove 2010 notes (200-213)
! [271] 31-Jan-17 11:17 /jdm/ Add MX_LANGUAGE 
! [270] 22-Jan-17 15:29 /jdm/ Add extended MSGBOX symbols 
! [269] 26-Nov-16 14:04 /jdm/ Add MX_CALLSTACK 
! [268] 23-Oct-16 10:37 /jdm/ Add EDITF_xxx symbols for EDIT$() 
! [267] 30-Sep-16 12:41 /jdm/ Add MBST_NOMINMAX, MX_WEBCACHE, WCDF_xxx 
! [266] 10-Sep-16 14:57 /jdm/ Add TROP_JOBLCK 
! [265] 05-Sep-16 14:23 /jdm/ Add CLF_xxx, CLF2_xxx 
! [264] 31-Aug-16 18:15 /jdm/ Add MX_LASTPRTFIL, MX_FILESOCK 
! [263] 21-Jul-16 13:49 /jdm/ Add TROP_EXEC 
! [262] 11-May-16 07:47 /jdm/ Move secondary IMAGE symbols to
!                               IMAGE.DEF
! [261] 19-Feb-16 12:07 /jdm/ Remove EF_EXPIRED (conflicts with LICENS.BAS)
! [260] 15-Jan-16 15:07 /jdm/ Add MX_MALLOCLIMIT 
! [259] 23-Aug-15 14:15 /jdm/ Add SPSW_HEADER,_NOHEADER 
! [258] 25-May-15 10:15 /jdm/ Add AG_DELAYOP, CJULIAN_Y2K_OFFSET,
!                               IJULIAN_Y2K_OFFSET  (1/1/2000 in days from 1/1/1900) 
! [257] 12-Mar-15 17:15 /jdm/ Add SR_TERM, SR_PIPE 
! [256] 23-Feb-15 10:43 /jdm/ Add AF_SQLPERSIST 
! [255] 17-Jan-15 12:53 /jdm/ Add AG_TYPEAHEAD, AG_CLRINBUF, AG_ACK 
! [254] 12-Nov-14 14:45 /jdm/ Add DTOP_xxx (DATES.SBR) 
! [252] 20-Oct-14 11:27 /jdm/ Add CGIOP_GETPARARY 
! [251] 05-Oct-14 07:27 /jdm/ Add CGIOP_xxx opcode symbols, 
!                               TROP_CGI, CR_LF$; remove BOOL stuff 
!                               (use separate types.def for that) 
! [250] 22-Jun-14 14:27 /jdm/ _TRUE, _FALSE 
! [249] 14-Mar-14 14:15 /jdm/ Add XFTPF__xxx 
! [248] 12-Jan-14 14:00 /jdm/ Add ARGTYP_xxx 
! [247] 08-Dec-13 13:40 /jdm/ Add GOP_STR0 
! [246] 04-Dec-13 14:30 /jdm/ Add CTLOP_TABSET, CTLOP_TABCLR, 
!                               WS_VSCROLL, EVW_ULFOCUS 
! [245] 20-Nov-13 15:30 /jdm/ Remove the SOSLIB.DEF include; 
!                               add AG_PLAYSOUND
! [244] 12-Sep-13 10:30 /jdm/ Move MSG_xxx to MSGTBL.DEF 
! [243] 31-Aug-13 16:30 /jdm/ Add IMGOP_PAGEINFO 
! [242] 05-Aug-13 21:30 /jdm/ Add EVW_ENTER, MBF2_NOAUTOPARENT 
! [241] 23-Jul-13 11:46 /jdm/ Add AG_GETFILEDATA, MX_ATEFILEXFR, 
!                               MX_CSVDELIM, MX_SETERR 
! [240] 06-Jul-13 16:11 /jdm/ Add MBF_TOOLBAR, TBSTYLE_xxx, 
!                               TBSTYLE_EX_xxx, SW_QRYCTLPIXC, CCS_xxx 
! [239] 12-Apr-13 16:11 /jdm/ Include soslib.def 
! [238] 04-Mar-13 10:36 /jdm/ Add MBF2_GLOBAL (remove history
!                               notes > 199)
! [237] 25-Feb-13 11:37 /jdm/ Add MBST_CHGTIPMNU 
! [236] 31-Jan-13 17:00 /jdm/ Add MBST_SAVRES 
! [235] 16-Dec-12 14:00 /jdm/ Add several SBRF2_xxx flags,
!                               AG_SBRFLAGS
! [234] 20-Nov-12 15:30 /jdm/ Add BS_SPLITBUTTON, BS_CMDLINK, 
!                               MBF2_GDIPLUS, AG_BUFSIZ, AG_TEXTALIGN, AG_FREELIB 
! [233] 18-Nov-12 14:27 /jdm/ Add MBF2_DLGNOCAP 
! [232] 31-Oct-12 08:40 /jdm/ Add AF_SBXASRUN, AF_ISAMNODUPERRS 
! [231] 07-Sep-12 10:24 /jdm/ Add PBS_MARQUEE 
! [230] 10-Jun-12 16:13 /jdm/ Add TBZF_xxx flags 
! [229] 23-May-12 12:31 /jdm/ Add MBF2_DLGSTATE 
! [228] 13-Feb-12 12:31 /jdm/ Add IMGSF_xxx scanning flags 
! [227] 28-Dec-11 10:22 /jdm/ Add MBF2_FNTPTSIZE 
! [226] 06-Oct-11 12:22 /jdm/ Fix IDM_PRINTS value 
! [225] 23-Sep-11 14:02 /jdm/ Add AG_SYSBCLR 
! [224] 25-Aug-11 11:40 /jdm/ Add TRF_xxx symbols for 
!                               //TEXTRECTANGLE; add MX_FLSET, MBF2_MINBUTTON 
! [223] 21-Jul-11 16:00 /jdm/ Add MSG_LOG; AF_NOSTREAMEFS (replace 
!                               AF_SBXAUTOUPDATE)
! [222] 19-Jul-11 11:15 /jdm/ Add GOP2_NOWHEEL 
! [221] 30-Jun-11 09:15 /jdm/ Add MSG_HOST 
! [220] 22-Jun-11 17:45 /jdm/ Add MBF2_NOMOVE, AG_IATIMEOUT 
! [219] 07-Jun-11 16:35 /jdm/ Add RGB_TRANSPARENT, AF_SBXAUTOUPDATE 
! [218] 02-Jun-11 13:25 /jdm/ Add SW_QRYCTLUNV, SW_QRYMON, SW_QRYCTLPIX
! [217] 13-May-11 16:48 /jdm/ Add IMGOP_SAVEAS 
! [216] 06-May-11 17:12 /jdm/ Add IMGCF_xxx, SPICF_xxx, IDM_PRINTS, 
!                               IMGOP_CAPTURE, PNGF_xxx, some AG_xxx 
! [215] 03-Apr-11 20:32 /jdm/ Add MSGBOX-related symbols; new in Vista? 
! [214] 10-Feb-11 12:55 /jdm/ Add CLF_ATE, XLF_NOMENU 
!-------------------.-------------------.-------------------.-------------------.

! [201] Mainly there are only map statements here, with two exceptions:
! [201] VERSYS_ASHELL_DEF needs to be a map so
![116] it is included in the run (to be displayed with VERSYS.LIT)
! [201] AG_TERM needs to be a map because define syntax doesn't allow expr

++ifnmap VERSYS_ASHELL_DEF

map1 VERSYS_ASHELL_DEF,s,40,">>@VERSYS(1)->>ashell.def[305]"

map1 CR_LF$,s,2,chr(13)+chr(10)     ! [251] 

![245]Change of strategy: site custom definitions should now be invoked from
![245]individual modules that need them (rather than here which everyone uses)
![245]++include'once ashinc:soslib.def ! [239] (site-specific definitions)

! MX_FSPEC formatting
    define FS_DRV = 1       ! MX_FSPEC flags (1)
    define FS_FMA = 2       ! "    "     " (2)
    define FS_TOH = 4       ! "    "     "  (4)

! MX_FINDFIRST, MX_FINDNEXT attributes
    define FATR_NORMAL   = 1           ! [129] normal file
    define FATR_SUBDIR   = 2           ! [129] subdirectory
    define FATR_READONLY = 4           ! [129] file is read-only

! OCVT formatting MIAMEX functions
    define OT_ZER = &h00000001         ! Disable leading zero blanking (1)
    define OT_TRM = &h00000002         ! Output to terminal (2)
    define OT_MEM = &h00000004         ! Output to memory (4)
    define OT_LSP = &h00000010         ! Output leading space (16)
    define OT_TSP = &h00000020         ! Output trailing space (32)
    define OT_OCT = &h00000040         ! Force output in octal (64)
    define OT_HEX = &h00000080         ! Force output in hex (128) [141]

! GETODBC MIAMEX subfunctions
    define ODBC_AVAILABLE =   1        ! ODBC availability
    define ODBC_PPN       =   2        ! ODBC active per PPN
    define ODBC_FILE      =   3        ! ODBC active per file


! MIAMEX function codes
! map1 MIAMEX_symbols
    define MX_CMD_STATUS  =   1        ! Set and return command file status
    define MX_EXIT        =   2        ! Force A-Shell exit
    define MX_FSPEC       =   3        ! Perform FSPEC on AMOS string
    define MX_GETCTRLC    =   4        ! Return with Control-C is enabled
    define MX_GETECHO     =   5        ! Return whether terminal echo enabled
    define MX_SETPROMPT   =   6        ! Set A-Shell command prompt
    define MX_GETHEX      =   7        ! Return whether hex output enabled
    define MX_SETHEX      =   8        ! Set/reset hex output flag
    define MX_OCVT        =   9        ! Output number in hex or octal
    define MX_CHKPPN      =  10        ! Check for existence of PPN
    define MX_GETERSATZ   =  11        ! Return cyclic ERSATZ information
    define MX_GETVER      =  12        ! Get A-Shell version string
    define MX_WSET_STATUS =  13        ! Set and return WSET emulations
    define MX_VUE         =  14        ! Call into CVUE.C for editor
    define MX_COMPIL      =  15        ! Call into CCMPIL.C for compiler
    define MX_PREBAS      =  16        ! Call into CPRE.C for PREBAS
    define MX_SYNC_CWD    =  17        ! Synchronize current working directory
    define MX_NXTCMD      =  18        ! Return next line of command file
    define MX_GETDEV      =  19        ! Return cyclic device information
    define MX_FINDFIRST   =  20        ! Return first matching file
    define MX_FINDNEXT    =  21        ! Return next matching file
    define MX_DIRSEP      =  22        ! Return directory separator character
    define MX_FINDEND     =  23        ! End directory processing
    define MX_GETPROMPT   =  24        ! Get current prompt
    define MX_HASHFILE    =  25        ! Return file hash total
    define MX_PRFSPEC     =  26        ! Print file specification
    define MX_COPYFILE    =  27        ! Copy file contents (see CPYF_xxx)
    define MX_PRINTERR    =  28        ! Print DDB error
    define MX_RENAMERR    =  29        ! Print RENAME DDB error
    define MX_GETQUEUE    =  30        ! Get queue block contents
    define MX_GETENV      =  31        ! Get value of environment variable
    define MX_SETEXT      =  32        ! Set default file extension
    define MX_MATCHWILD   =  33        ! Match wildcard for CMDLIN
    define MX_GETCISAM    =  34        ! Get C-ISAM version and serial #
    define MX_SETCRM      =  35        ! Set console redirect mode
    define MX_GETHASH     =  36        ! Get AMOS-hash mode
    define MX_SETHASH     =  37        ! Set/reset AMOS-hash mode
    define MX_MKPATH      =  38        ! Create path
    define MX_RMPATH      =  39        ! Delete path
    define MX_GETODBC     =  40        ! Return whether ODBC available
    define MX_ZAPQUEUE    =  41        ! Zap queue blocks for a job
    define MX_ODBCFIRST   =  42        ! Return first ODBC table
    define MX_ODBCNEXT    =  43        ! Return next ODBC table
    define MX_ODBCEND     =  44        ! End ODBC file search
    define MX_GETLOKSER   =  50        ! get lokser status
    define MX_SETLOKSER   =  51        ! set lokser status
    define MX_GETCMDINP   =  52        ! get cmd file input status
    define MX_SETCMDINP   =  53        ! set cmd file input status
    define MX_GETSIG      =  54        ! get signalrec
    define MX_CLRSIG      =  55        ! AND param to signalrec
    define MX_SETTERM     =  56        ! set TERM type
    define MX_SETENV      =  56        ! [44] set env var
    define MX_KILL        =  57        ! kill a process
    define MX_SHOWLIC     =  58        ! [32] display license banner
    define MX_GETOPTIONS  =  59        ! [32] get OPTIONS= flags
    define MX_SETOPTIONS  =  60        ! [32] set OPTIONS= flags
    define MX_GETTRACE    =  61        ! [34] get TRACE= flags
    define MX_SETTRACE    =  62        ! [34] set TRACE= flags
    define MX_SETPFK      =  63        ! [35] load PFK
    define MX_GETPFK      =  64        ! [35] display loaded PFK name
    define MX_SCRNPIC     =  65        ! [36] pop-up screen picture dlg
    define MX_QRBLD       =  66        ! [36] qrebuild
    define MX_QLOCK       =  67        ! [36] qlock()
    define MX_QUNLOK      =  68        ! [36] qunlok()
    define MX_GETUMSK     =  69        ! [39] return umask
    define MX_SETUMSK     =  70        ! [39] set umask [44]
    define MX_WINMNU      =  71        ! [39] windows menu ops
    define MX_LITMSG      =  72        ! [39] print message from LITMSG.xxx
    define MX_READJCB     =  73        ! [41] read jcb rec
    define MX_WRITEJCB    =  74        ! [41] write jcb rec
    define MX_GETTIME     =  75        ! [41] get sys time (secs since?)
    define MX_TELSER      =  76        ! [43] telnet server mode
    define MX_SHOWWINDOW  =  77        ! [43] ShowWindow
    define MX_GETGDO      =  78        ! [45] Get global DO params
    define MX_SETGDO      =  79        ! [46] Set global DO params
    define MX_XCBINFOX    =  80        ! [48] Get XCALL param info
    define MX_XCBDATAX    =  81        ! [48] Get/Put XCALL params (in SBX)
    define MX_EXITSBXX    =  82        ! [49] Exit SBX to dot prompt
    define MX_GETFKW      =  83        ! [49] Get FKEYWAIT setting
    define MX_SETFKW      =  84        ! [49] Set FKEYWAIT
    define MX_TITLE       =  85        ! [50] Get/Set TITLE
    define MX_ERRNOMSG    =  86        ! [52] Get message for errno
    define MX_NOBUF       =  87        ! [52] Disable buffering on file
    define MX_FLUSHBUF    =  88        ! [52] Flush file buffer
    define MX_FLSET       =  89        ! [224] FLSET
    define MX_FLSETX      =  89        ! [52] FLSET (alternate name?)
    define MX_BEVEL       =  90        ! [53] Bevelling
    define MX_SYSBCLR     =  91        ! [54]     define system bg color
    define MX_HOTKEY      =  92        ! [55] Disable / reenable pshell hotkeys
    define MX_ABOUT       =  93        ! [55] Get about-box info
    define MX_GETRC       =  94        ! [58] Get cursor Row / Col
    define MX_GETOFD      =  95        ! [58] Get OpenFile Dialog
    define MX_SHELLEX     =  96        ! [58] ShellExecute
    define MX_MKDIR       =  97        ! [58] Make Directory
    define MX_ATE         =  98        ! [58] Start ATE
    define MX_GETREG      =  99        ! [58] Read registry string
    define MX_PLAYSOUND   = 100        ! [63] Play sound
    define MX_GETSW       = 101        ! [58] Get swap wait time
    define MX_SETSW       = 102        ! [58] Set swap wait time
    define MX_CLFLAGS     = 103        ! [59] Get/set cl flags (see CLF_xxx)
    define MX_GETPID      = 104        ! [61] getpid
    define MX_CLIPBOARD   = 105        ! [62] get/set clipboard
    define MX_OSVER       = 106        ! [62] get OS version info
    define MX_USRMAP      = 107        ! [63] scan usr memory
    define MX_USRLOD      = 108        ! [63] load module into usr memory
    define MX_USRDEL      = 109        ! [63] delete module from usr memory
    define MX_USRSAV      = 110        ! [63] save module to disk
    define MX_USRIO       = 111        ! [64] read/write direct to memory
    define MX_AMOUSEXLT   = 112        ! [68] set AutoMouse translations
    define MX_MEMORY      = 113        ! [68] change memory size
    define MX_MARSHAL     = 114        ! [69] remote xcall marshalling
    define MX_IXCALL      = 115        ! [69] indirect xcall
    define MX_INICLR      = 116        ! [69] process ini.clr
    define MX_MAPI        = 117        ! [69] send MAPI mail
    define MX_FILEPOS     = 118        ! [72] get/set stream position
    define MX_WINBTN      = 119        ! [75] add Windows buttons
    define MX_WINCTL      = 119        ! [87] same as MX_WINBTN (better name)
    define MX_WINPTR      = 120        ! [75] prompt for Windows printer
    define MX_CHAINTO     = 121        ! [78] get/set chainto on priv err
    define MX_MMAPLIST    = 122        ! [85] get/set MMAPLIST
    define MX_SBRFLG      = 123        ! [85] get/set SBR= flags
    define MX_SBRFLAGS    = 123        ! [235] (better name for MX_SBRFLG)
    define MX_ASHLOG      = 124        ! [85] output to ashlog.log
    define MX_MCRS        = 125        ! [85] get last MCRS click info
    define MX_SINK        = 126        ! [85] sinkfield
    define MX_ROUND       = 127        ! [85] get/set rounding
    define MX_GETIP       = 128        ! [85] get IP address
    define MX_GUIFLG      = 129        ! [85] get/set GUI flags
    define MX_ASHFILE     = 130        ! [86] get settings (.ash) filename
    define MX_FILESTATS   = 131        ! [87] get file stats
    define MX_FTFORMAT    = 132        ! [88] format file time (from FILESTATS)
    define MX_EXPFIL      = 133        ! [89] expand file
    define MX_SYNC        = 134        ! [90] sync
    define MX_BTNIDLE     = 135        ! [96] idle waiting on buttons
    define MX_EVENTWAIT   = 135        ! [150] (new name)
    define MX_SETREDRAW   = 136        ! [100] set redraw on/off (Win)
    define MX_HTMLHELP    = 137        ! [100] context sensitive help
    define MX_REGISTRY    = 138        ! [100] registry ops (Win)
    define MX_LODIMG      = 139        ! [101] (not yet ready)
    define MX_ATECTL      = 140        ! [101] ATE control socket ops
    define MX_AUTOPARENT  = 141        ! [101] set automatic TPRINT parent
    define MX_CMDKBD      = 142        ! [103] get last :K{0-9}
    define MX_INFDEF      = 143        ! [103] SBR=INFDEF:
    define MX_DEBUG       = 144        ! [105] get/set debug level
    define MX_UNLOADLIB   = 145        ! [120] unload library
    define MX_LASTLNO     = 146        ! [120] get last line #
    define MX_FLINES      = 147        ! [120] count lines in file
    define MX_GDICALC     = 148        ! [121] GDI printing calculations (see MXGDI_xxx)
    define MX_WINSETTINGS = 149        ! [124] Get/Set windows-gui settings

    define MX_WINMESSAGE  = 151        ! [130] Post/Send windows message
    define MX_SETFORMNAME = 152        ! [130] set current form name
    define MX_RELEASEKBD  = 153        ! [130] release ATE kbd hold
    define MX_DEFTABXYZ   = 154        ! [131] define TAB(X,Y,Z) attributes
    define MX_ISAMRESTORE = 155        ! [132] restore from isam checkpoint
    define MX_INSTNUM     = 156        ! [132] Get our Windows instance #
    define MX_FINDWINDOW  = 157        ! [132] Find window by title
    define MX_WINSTATE    = 158        ! [133] Get window state (see MXWS_xxx)
    define MX_GTOCT       = 160        ! [141] Convrt oct/hex back to decimal
    define MX_GTHEX       = 160        ! [141] same
    define MX_FILECHINFO  = 161        ! [143] Get info on open file channel
    define MX_DUPSOCK     = 162        ! [145] Duplicate socket
![180] define MX_DEBUGMSG    = 163        ! [145] Output debug message
    define MX_SETMEMFLAGS = 163        ! [180] Change memory module flags
    define MX_CHOOSECOLOR = 164        ! [147] Select color from dialog
    define MX_CHOOSEFONT  = 165        ! [145] Select font
    define MX_MOUSECAP    = 166        ! [146] Mouse capture (rect)
    define MX_VERINODE    = 167        ! [160] Verify inode
    define MX_SETMINCTLID = 168        ! [160] Set min control id
    define MX_SETUSRNAM   = 169        ! [160] Set (override) user name
    define MX_BROWSEFOLDER= 170        ! [178] Browse for Folder
    define MX_GETSHELLPATH= 171        ! [178] Translate dir ID to path
    define MX_PWCRYPT     = 172        ! [182] Encrypt password
    define MX_SHORTCUT    = 173        ! [182] Create shortcut
    define MX_STRCMP      = 174        ! [188] String comparison (see STRCMPF_xx)
    define MX_CHKPCNET    = 176        ! [189] Check PC internet connectivity
    define MX_AGWRAPPER   = 177        ! [195] Wrap a TAB(-10,AG_xxx) + INPUT seq
    define MX_FILEHOOK    = 178        ! [200] File hook operations
    define MX_AGINTERPROC = 179        ! [208] Send AG messages between procs
    define MX_IATIMEOUT   = 180        ! [208] Get/set IATIMEOUT
    define MX_CSVDELIM    = 181        ! [241] Get/set CSV delimiter
    define MX_SETERR      = 182        ! [241] Force Basic error
    define MX_ATEFILEXFR  = 183        ! [241] ATE-to-AW/ATSD file transfer
    define MX_CLRINBUF    = 184        ! [256] clear input buffers
    define MX_MALLOCLIMIT = 185	       ! [260] get/set malloclimit
    define MX_LASTPRTFIL  = 186        ! [264] get last printfile
    define MX_FILESOCK    = 187        ! [264] redirect file channel to socket
    define MX_WEBCACHE    = 188        ! [267] web cache config
    define MX_CALLSTACK   = 189        ! [269] retrieve call stack
    define MX_LANGUAGE    = 190        ! [271] get/set language
    define MX_SRCHPATH    = 191        ! [280] search path for file
    define MX_DYNSTRUCT   = 192        ! [282] dynstruct operations (see dynstruct.def)
    define MX_DYNFUNC     = 193        ! [283] dynfunc operations 
    define MX_GETWINFILEVER=194        ! [290] get version of windows file
    define MX_FILEVAR      =195        ! [293] get set file control vars (recno,stat)
    define MX_FILETIMES    =196        ! [294] get/set file times
    define MX_GETDPI       =197        ! [302] get DPI info
    define MX_GETUPTIME    =198        ! [302] get system/job up time
    define MX_DRAGDROP     =199        ! [302] retrieve dropped files
    define MX_AS3264       =200        ! [304] return arch (32 or 64 bit)
    define MX_BASERR       =201        ! [304] set basic error
    define MX_TRANSCOPY    =202        ! [304] transclude/transcopy
    define MX_RUNPROF      =203        ! [304] run profiler
    define MX_DIRCLEAN     =204        ! [304] clean/scan a directory
    
! *** MX_STRCMP flags (5.1.1136.0)
    define STRCMPF_LDF    = &h01       ! [188] use LDF collating sequence
    define STRCMPF_NAT    = &h02       ! [188] use "natural" sort
    define STRCMPF_FOLD   = &h04       ! [189] fold

! *** Window state flags [133] (MX_WINSTATE) ***
    define MXWS_MIN     = &h01         ! [133] window minimized
    define MXWS_MAX     = &h02         ! [133] maximized
    define MXWS_VISIBLE = &h04         ! [133] visible (else hidden or in tray)
    define MXWS_VALID   = &h08         ! [133] if not set, window invalid

! *** Common MX get/set symbols [154] ***
    define MXOP_GET     = 0            ! [154] get
    define MXOP_SET     = 1            ! [154] set

! *** Signal Mask Symbols (UNIX signal numbers are not necessarily standard)
    define SR_INT     = &h00000001     ! (SIGINT)  interrupt signal (1)
    define SR_CHILD   = &h00000002     ! (SIGCHLD) child process died (2)
    define SR_USR1    = &h00000004     ! (SIGUSR1) (4)
    define SR_USR2    = &h00000008     ! (SIGUSR2) (8)
    define SR_HUP     = &h00000010     ! (SIGHUP)  (16)
    define SR_KILL    = &h00000020     ! (SIGKILL) (32)
    define SR_TSTP    = &h00000040     ! (SIGTSTP) (64)
    define SR_ALARM   = &h00000080     ! (SIGALRM) (128)
    define SR_TERM    = &h00000100     ! (SIGTERM) (256)
    define SR_PIPE    = &h00000200     ! (SIGPIPE) (512)
    define SR_SYSCALL = &h00004000     ! pseudo-signal indicating in system() call (16384)

! *** Signal Name Symbols 
    define SIGHUP     = 1              ! hangup/disconnect
    define SIGINT     = 2              ! Ctrl+C
    define SIGQUIT    = 3              ! Abort foreground proc; w/o core dump
    define SIGABRT    = 6              ! Force abort; similar to SIGQUIT
    define SIGKILL    = 9              ! Kill (cannot be trapped)
    define SIGUSR1    = 10             ! User signal (used by ITC, IJC)
    define SIGUSR2    = 11             ! User signal (used by PolyShell)
    define SIGALRM    = 14             ! Alarm (used by sleep timers, WAKNO.SBR)
    define SIGTERM    = 15             ! Terminate proc; generates errror 251
    
! *** Options Symbols (OPTIONS= in miame.ini) [32]
    define GOP_CRNL         = &h00000001     ! [32] force CRNL line terminators (1)
    define GOP_EXTFIO       = &h00000002     ! [32] allow _extended_ file i/o (2)
    define GOP_AS400        = &h00000004     ! [32] AS400 mode: strip 8_s & 11_s (4)
    define GOP_LATIN1       = &h00000008     ! [32] map Latin1 chars to OEM set for display (8)
    define GOP_OEM          = &h00000010     ! [32] set internally if using an OEM font (Windows) (16)
    define GOP_EFFUSR       = &h00000020     ! [32] use EFFECTIVE user instead of LOGIN (32)
    define GOP_AMOSRUNSBR   = &h00000040     ! [51] AMOS_RUNSBR (64)
    define GOP_BRKALC       = &h00000080     ! [37] BRKALC (128)
    define GOP_HEXDEC       = &h00000100     ! [37] HEXDEX (256)
    define GOP_NOLEADFF     = &h00000200     ! [37] NOLEADFF (512)
    define GOP_NOAUTOXLT    = &h00000400     ! [37] NOAUTOXLT (1024)
    define GOP_NTTS         = &h00000800     ! [37] NTTS (2048)
    define GOP_FPROUND      = &h00001000     ! [37] FPROUND (4096)
    define GOP_FLDEMU       = &h00002000     ! [38] FIELDEMU (8192)
    define GOP_EXITWAIT     = &h00004000     ! [39] EXITWAIT (16384)
    define GOP_ABSLOOKUP    = &h00008000     ! [40] ABSLOOKUP (32768)
    define GOP_QCLOSE       = &h00010000     ! [51] auto close queue after inst upd (65536)
    define GOP_QBUFFER      = &h00020000     ! [51] normal queue buffering (no flush) (131072)
    define GOP_LOCALCOPIES  = &h00040000     ! [51] hdl prt copies with mult subs (262144)
    define GOP_SHLPATH      = &h00080000     ! [51] special SHL path mod (524288)
    define GOP_AUTOCCON     = &h00100000     ! [51] enable ^C at each prog start (1048576)
    define GOP_RAWTABS      = &h00200000     ! [51] raw tab output to screen (2097152)
    define GOP_XABORT       = &h00400000     ! [62] allow X out window (sighup) (4194304)
    define GOP_NOXABORT     = &h00800000     ! [62] disable OK in abort dialog (8388608)
    define GOP_STRICT       = &h01000000     ! [62] attempt strict AMOS compliance (16777216)
    define GOP_NUMPAD_COMMA = &h02000000     ! [62] treat numpad period as comma (33554432)
    define GOP_AUTOX        = &h04000000     ! [62] allow autoexpansion (67108864)
    define GOP_ISAM_IDXLOK  = &h08000000     ! [62] lock entire idx; not just rock (134217728)
    define GOP_MMAPTIME     = &h10000000     ! [70] manual update of mmap timestamps (268435456)
    define GOP_AUTO_MEMOPEN = &h20000000     ! [70] auto chk mem on random open (536870912)
    define GOP_STR0         = &h40000000     ! [247] str(x) preserves leading 0 for -1 < x < -1 (1369.0)

    define GOP2_NOPSDLG      = &h00000001    ! [84] No print screen dialog (1)
    define GOP2_NODELSYS     = &h00000002    ! [84] don_t delete .sys files ever (2)
    define GOP2_GUISPCINDENT = &h00000008    ! [84] GUI space indent logic (8)
    define GOP2_AUTOTPRINT   = &h00000010    ! [84] GUI auto TPRINT (16)
    define GOP2_AUTODLGSTATE = &h00000040    ! [275] Set MBF2_DLGSTATE automatically for dialogs
    define GOP2_FSPECNATIVE  = &h00000040    ! [275] treat some AMOS-illegal specs as native
    define GOP2_EFS_OUT_AMOS = &h00000100    ! [95] (EFS) encrypt amos output (256)
    define GOP2_EFS_OUT_HOST = &h00000200    ! [95] (EFS) encrypt native output (512)
    define GOP2_EFS_ALLOCATE = &h00000400    ! [95] (EFS) encrypt on ALLOCATE (1024)
    define GOP2_EFS_ALCINDEX = &h00000800    ! [95] (EFS) encrypt ALLOCATE_INDEXED (2048)
    define GOP2_INI_AV       = &h00001000    ! [95] use ini.av instead of ini.vue (4096)
    define GOP2_SBX_RUNDIR   = &h00002000    ! [95] search for SBX in RUN dir first (8192)
    define GOP2_NOSPOOL      = &h00004000    ! [95] disable spooling (16384)
    define GOP2_NOCAPTURE    = &h00008000    ! [95] disable screen capture (^P) (32768)
![116] these bits were wrong...
!   define GOP2_LONGDIR      = &h00010000    ! [99] LONGDIR /jdm (65536)
!   define GOP2_MSYNC_MAP    = &h00020000    ! [110] msync entire map on write (131072)
!   define GOP2_MSYNC_PAGE   = &h00040000    ! [110] msync page on write (262144)
!   define GOP2_NTTS         = &h00080000    ! [110] variation of NTTS (524288)
!   define GOP2_SEQLOK       = &h00100000    ! [110] seq. file locking (UNIX) (1048576)
![116] should be like this...
    define GOP2_MSYNC_MAP    = &h00010000    ! [116] msync entire map on write (65536)
    define GOP2_MSYNC_PAGE   = &h00020000    ! [116] msync page on write (131072)
    define GOP2_NTTS         = &h00040000    ! [116] variation of NTTS (262144)
    define GOP2_SEQLOK       = &h00080000    ! [116] seq. file locking (UNIX) (524288)
    define GOP2_LONGDIR      = &h00100000    ! [116] LONGDIR /jdm (1048576)
    define GOP2_ISAMDISAM    = &h00200000    ! [132] emulate ISAM w/ DISAM
    define GOP2_MANIFEST     = &h00400000    ! [132] look for mft files
    define GOP2_3DTAB        = &h00800000    ! [132] allow TAB(X,Y,Z)
    define GOP2_AUTOX_RAN    = &h01000000    ! [132] let ran files grow rec by rec
    define GOP2_RCDIMX       = &h02000000    ! [161] COMPIL /RC allows DIMX
    define GOP2_TCPNODELAY   = &h04000000    ! [161] (ATS only)
    define GOP2_NOWHEEL      = &h20000000    ! [222] disable mousewheel scrolling
    define GOP2_XTAUTOFILTER = &h40000000    ! [281] enable XTREE autofilter (XTF2_AUTOFILTER)

! *** WEBCACHE flags [267]
    define WCDF_ENABLED      = &h00000001    ! [267] web cache enabled (automatically includes images, other local cache)
    define WCDF_PROG         = &h00000002    ! [267] download/cache programs (RUN,LIT,SBX)
    define WCDF_OPENI        = &h00000004    ! [267] download/cache files on open for input 
    define WCDF_LOOKUP       = &h00000008    ! [267] download/cache any file on lookup or XCALL SIZE 
    define WCDF_DLL          = &h00000010    ! [267] download DLLs to bin if possible, else webcache
    define WCDF_ALL          = &h000000FE    ! [267] all flags except ENABLED
    
! *** SBR= flags (used by MIAMEX,123)
    define SBRF_BSMID5          = &h00000001    
    define SBRF_INFLD143        = &h00000002
    define SBRF_INFLDPS         = &h00000004
    define SBRF_INFLDB3         = &h00000008
    define SBRF_INFLDLDROP      = &h00000010
    define SBRF_MXLOCK          = &h00000020
    define SBRF_MESAGRTN        = &h00000040
    define SBRF_MALLOCSORT      = &h00000100
    define SBRF_COMMONNDR       = &h00000200
    define SBRF_PRTCHK1         = &h00000400
    define SBRF_PRINTNOFF       = &h00000800
    define SBRF_XPPNOCT         = &h00001000
    define SBRF_AMOSJOB1        = &h00002000
    define SBRF_TRIMCTL         = &h00004000
    define SBRF_INFLDR          = &h00008000
    define SBRF_INFLDEDIT       = &h00010000
    define SBRF_AXLOCK          = &h00020000
    define SBRF_LSTLINSTRIP     = &h00040000
    define SBRF_PGRW_TTI        = &h00080000
    define SBRF_BOX_MINATTR     = &h00100000
    define SBRF_INFLD_V1        = &h00400000
    define SBRF_EZPRTX          = &h00800000
    define SBRF_FLOCKD          = &h01000000
    define SBRF_FLOCKL          = &h02000000
    define SBRF_INFLD_KEEPALIVE = &h04000000
    define SBRF_PCKLST_GUI      = &h08000000
    define SBRF_INFLDCBRJ       = &h10000000
    define SBRF_SUBMIT2         = &h20000000
    define SBRF_NO_MMAP         = &h40000000
    define SBRF_XMASCB_OPEN     = &h80000000    ! [199]

    define SBRF2_GUISELPOS      = &h00000001    ! [199] INFLD GUI caret at start
    define SBRF2_AUTO_TABX      = &h00000002    ! [199] auto add MBF2_TABX to MBF_TAB
    define SBRF2_PRINT_TIME     = &h00000004    ! [235] add time to PRINT.SBR hdr
    define SBRF2_PRINT_JOBUSN   = &h00000008    ! [235] add user to PRINT.SBR hdr
    define SBRF2_AUTO_DLGMAX    = &h00000010    ! [235] auto max dlgs > desktop
    define SBRF2_INFLD_PRINTS   = &h00000020    ! [235] INFLD ^P : File>Printscreen
    define SBRF2_XTREE_EXPCSV   = &h00000040    ! [235] XTREE add Export CSV to mnu
    define SBRF2_XTREE_EXPTSV   = &h00000080    ! [235] XTREE add Export TSV to mnu
    define SBRF2_XTREE_EXPOPEN  = &h00000100    ! [235] XTREE open after export
    define SBRF2_XTREE_PRINT    = &h00000200    ! [235] XTREE add print to mnu
    define SBRF2_XTREE_SRCH     = &h00000400    ! [235] XTREE add search to mnu
    define SBRF2_EFS_CLR_ON_EXIT= &h00000800    ! [296] Clear EFS key on exit
    define SBRF2_XTREE_EXPCSV2  = &h00001000    ! [288] XTREE add Export CSV2XL to mnu
    define SBRF2_XTREE_EXPCSV2XL= &h00002000    ! [296] XTREE add Export CSV2XL to mnu
    define SBRF2_INFLD_NOPRINTS = &h00004000    ! [301] Disable INFLD ^P print screen function

! *** GUI FLAGS (used by MIAMEX,129)    ! [84]
! map1 AGF_GUIFLAGS        ! [84]
    define AGF_LWG     = &h00000001    ! [84] Local Windows Gui (1)
    define AGF_LWN     = &h00000002    ! [84] Local Windows Non-gui (2)
    define AGF_ATE     = &h00000004    ! [84] ATE client (4)
    define AGF_RWN     = &h00000008    ! [84] Remote WiNdows (ATSD) (8)
    define AGF_TNT     = &h00000010    ! [84] TelNeT (16)
    define AGF_ASH     = &h00000020    ! [84] A-Shell (not AMOS) (32)
    define AGF_THEMES  = &h00000040    ! [97] XP themes active (64)
    define AGF_HOLDKBD = &h00000080    ! [134] Client currently holding kbd (128)
    define AGF_ATERES  = &h00000100    ! [134] We are waiting on ATE response (256)
    define AGF_LOCWIN  = &h00000003    ! [84] Local Windows (GUI or non)
    define AGF_ANYWIN  = &h0000000B    ! [84] Windows (local or remote)
    define AGF_GUIEXT  = &h00000005    ! [84] GUI EXTensions available
    define AGF_LWNATE  = &h00000007    ! [90] Local WiNdows or ATE
    define AGF_ATECLI  = &h00000200    ! [177] ATE client
    define AGF_INPROC  = &h00000400    ! [177] tab(-10,x) in progress
!   define AGF_EZAUI   = &h00000800    ! [212] Internal use by EZ-TERM
    define AGF_ATESBX  = &h00001000    ! [212] We are in ATE-side SBX call
    define AGF_NOSTATUS= &h00002000    ! [212] Treat CSTATUS as NUL_CSTATUS in CTLOP_ADD
    define AGF_DESIGN  = &h00010000    ! [46] Design mode

! *** TRACE Symbols (TRACE= in miame.ini) [34]
    define TROP_AMSORT = &h00000001    ! [34] AMSORT (1)
    define TROP_SYSERR = &h00000002    ! [34] SYSERR (2)
    define TROP_SQL    = &h00000004    ! [34] SQL (4)
    define TROP_LP     = &h00000008    ! [34] LP (8)
    define TROP_SIGNAL = &h00000010    ! [34] SIGNAL (16)
    define TROP_SIGHUP = &h00000020    ! [34] SIGHUP (32)
    define TROP_LOCKS  = &h00000040    ! [36] LOCKS (64)
    define TROP_LOG    = &h00000080    ! [42] LOG (128)
    define TROP_JOBS   = &h00000100    ! [42] JOBS (256)
    define TROP_QOPEN  = &h00000200    ! [42] QOPEN (512)
    define TROP_GDIPRT = &h00000400    ! [42] GDIPRT (1024)
    define TROP_FOPENS = &h00000800    ! [42] FOPENS (2048)
    define TROP_XCALL  = &h00001000    ! [48] FOPENS (4096)
    define TROP_AMOS   = &h00002000    ! [51] AMOS (8192)
    define TROP_DEBUG  = &h00004000    ! [62] DEBUG (16384)
    define TROP_INOUT  = &h00008000    ! [62] INOUT (32768)
    define TROP_BASERR = &h00010000    ! [62] BASERR (65536)
    define TROP_ISAM   = &h00020000    ! [62] ISAM (131072)
    define TROP_USRMEM = &h00040000    ! [63] USRMEM (262144)
    define TROP_MALLOC = &h00080000    ! [63] MALLOC (524288)
    define TROP_RW     = &h00100000    ! [71] RW (1048576)
    define TROP_SOCKS  = &h00200000    ! [85] SOCKS (2097152)
    define TROP_XLOCKS = &h00400000    ! [85] XLOCKS (4194304)
    define TROP_XDEBUG = &h00800000    ! [85] XDEBUG (8388608)
    define TROP_PERF   = &h01000000    ! [85] PERF (16777216)
    define TROP_GUI    = &h02000000    ! [85] GUI (33554432)
    define TROP_EFS    = &h04000000    ! [104] EFS(ERS) (67108864)
    define TROP_ATE    = &h08000000    ! [104] ATE (134217728)
    define TROP_KBD    = &h10000000    ! [164] KBD (268435456)
    define TROP_XTREE  = &h20000000    ! [164] XTREE (536870912)
    define TROP_CGI    = &h40000000    ! [251] CGI (1073741824)
    define TROP_EXEC   = &h80000000    ! [263] RUN, CHAIN, CMDLIN (2147483648)
    
    define TROP_JOBLCK = &h000100000000    ! [266] JOBLCK (note: requires B5+ or F6!)
    
! *** System message symbols (used with MIAMEX,72,...)
![244] (moved to MSGTBL.DEF)
!   define MSG_CMDLIN  =  0            ! [39] misc CMDLIN messages
!   define MSG_ABOUT   =  1            ! [55] ABOUT.LIT messages
!   define MSG_TELSER  =  2            ! [??] TELSER.LIT messages
!   define MSG_SEND    =  3            ! [56] SEND.LIT messages
!   define MSG_FORCE   =  4            ! [60] FORCE.LIT messages
!   define MSG_TAIL    =  5            ! [65] TAIL.LIT messages
!   define MSG_MAP     =  6            ! [67] MAP.LIT messages
!   define MSG_TYPE    =  7            ! [74] TYPE.LIT messages
!   define MSG_HEAD    =  8            ! [74] HEAD.LIT messages
!   define MSG_TELNET  =  9            ! [74] TELNET.LIT messages
!   define MSG_LICENS  = 10            ! [76] LICENS.LIT messages
!   define MSG_COPY    = 11            ! [142]COPY.LIT messages (and MOVE.LIT)
!   define MSG_HOST    = 12            ! [221]HOST.LIT messages
!   define MSG_LOG     = 13            ! [223]LOG.LIT messages

! *** Command line flags, used by MX_CLFLAGS ...
    define CLF_VER        = &h00000001     ! [59] -v (1)
    define CLF_EXIT       = &h00000002     ! [59] -e (2)
    define CLF_DEV        = &h00000008     ! [62] -d (8)
    define CLF_INI        = &h00000010     ! [62] -i (16)
    define CLF_NOHANG     = &h00000100     ! [59] -h (256)
    define CLF_PSHELL     = &h00000200     ! [126] -p (512)
    define CLF_HANGDELAY  = &h00000400     ! [59] -hd (1024)
    define CLF_HANGPARENT = &h00000800     ! [59] -hp (2048)
    define CLF_QUIET      = &h00001000     ! [59] -q (4096)
    define CLF_SUBMIT     = &h00002000     ! [59] -t (8192)
    define CLF_SETTINGS   = &h00004000     ! [62] -o (16384)
    define CLF_CHILD      = &h00008000     ! [59] -2 (32768)
    define CLF_NOPSH      = &h00010000     ! [59] -1 (65536)
    define CLF_HIDE       = &h00020000     ! [59] -z (131072)
    define CLF_SNAPSHOTS  = &h00040000     ! [59] -ba (262144)
    define CLF_MAXFOCUS   = &h00080000     ! [59] -m (524288)
    define CLF_NOX        = &h00100000     ! [59] -mx (1048576)
    define CLF_CGI        = &h00200000     ! [59] -cgi (2097152)
    define CLF_ATS        = &h00800000     ! [59] ATS connection (8388608)
    define CLF_HEI        = &h01000000     ! [59] -hei (16777216)
    define CLF_HETCKI     = &h02000000     ! [59] -hetcki (33554432)
    define CLF_LITE       = &h04000000     ! [72] -lite (67108864)
    define CLF_LIC        = &h08000000     ! [72] -lic <key> (134217728) [125]
    define CLF_MIN        = &h10000000     ! [72] -min (268435456)
    define CLF_SYSTRAY    = &h20000000     ! [72] -zi (536870912)
    define CLF_ATE        = &h40000000     ! [214] -ate or -atecfg (1073741824)
    define CLF_NOMENU     = &h80000000     ! [214] -nm (2147483648)

! *** 2nd bank of Command line flags, used by MX_CLFLAGS ...
    define CLF2_PREVIEW   = &h00000001     ! [265] preview mode 
    define CLF2_NOCAPTION = &h00000002     ! [265] -nc no main window caption
    define CLF2_NORESIZE  = &h00000004     ! [265] -nrs no resizing border
    define CLF2_CGIP      = &h00000008     ! [265] -cgip persistent cgi
    define CLF2_CGIFAST   = &h00000010     ! [265] -cgifast (FastCGI)
    define CLF2_UA        = &h00000020     ! [265] -ua (unattended)
    define CLF2_SILO      = &h00000040     ! [265] -silo (docker container mode) 
    define CLF2_NTTS      = &h00000080     ! [289] -ntts
    define CLF2_DPM       = &h00000100     ! [298] -dpm
    define CLF2_ZATE      = &h00000200     ! [298] -zate  
    
! *** USRMEM flags, used by MX_USRxxx ...
    define USRMEM_INUSE   = &h00000001     ! [67] module in use (was AUTOLOAD) (1)
    define USRMEM_LOCKED  = &h00000002     ! [63] module locked or in use (2)
    define USRMEM_PERM    = &h00000004     ! [66] permanent (was NOCACHE) (4)
    define USRMEM_CACHE   = &h00000008     ! [67] module cached (8)
    define USRMEM_UNLOCK  = &h00000010     ! [67] unlock locked module (cmd flg) (16)
    define USRMEM_NOFILE  = &h00000020     ! [106] load directly from variable (32)


! *** Menu and Button type flags (used in AUI, CONTROL) ...
    define MBF_BUTTON       = &h00000000     ! [95] (default type ctl type) (0)
    define MBF_CMDLIN       = &h00000000     ! [76] action is cmd line (dft. action) (0)
    define MBF_DLL          = &h00000001     ! [76] action is DLL (1)
    define MBF_CHKMNU       = &h00000004     ! [194] checked menu item (4)
    define MBF_CHKBOX       = &h00000004     ! [76] checkbox (4)	
    define MBF_3STATE       = &h00000008     ! [76] 3 state chkbox (8) (AUI_MENU)
    define MBF_RADIOMNU     = &h00000008     ! [194] radio/check menu item (8) (AUI_MENU)
    define MBF_SUBMNU       = &h00000010     ! [80] submenu (16) (AUI_MENU)
    define MBF_AUTORADIOBTN = &h00000010     ! [87] auto radio btn (shares w/ submnu) (16)
    define MBF_RADIOBTN     = &h00000010     ! [88] same as auto radio btn (16)
    define MBF_LFTEXT       = &h00000020     ! [76] chkbox txt left (box right) (32)
    define MBF_DLGNOPARENT  = &h00000020     ! [122] make dlg box top level (32)
    define MBF_LFJUST       = &h00000040     ! [76] left justify text (64)
    define MBF_RTJUST       = &h00000080     ! [76] right justify text (128)
    define MBF_HCENTER      = &h000000C0     ! [174] center justify text (default)
    define MBF_VCENTER      = &h00000020     ! [174] vertical center (static ctls only)
    define MBF_CENTER       = &h000000E0     ! [174] centered both ways (static img only)
    define MBF_BITMAP       = &h00000100     ! [76] button displays bitmap (256)
    define MBF_SYSMENU      = &h00000100     ! [92] (with MBF_DIALOG enables system menu) (256)
    define MBF_ICON         = &h00000200     ! [76] button displays icon (512)
    define MBF_TABSTOP      = &h00000400     ! [107] control is a tabstop (1024)
    define MBF_MAXBUTTON    = &h00000400     ! [162] Enable max button on dialog (altpos only)
    define MBF_SEP          = &h00000800     ! [80] separator (2048) (AUI_MENU)
    define MBF_DLGNOCREEP   = &h00000800     ! [138] dlg coords rel to main wnd
    define MBF_AUTOGROW     = &h00000800     ! [163] (with MBF_STATIC) let ctl grow to fit
    define MBF_SUNKEN       = &h00001000     ! [81] sunken static control (4096)
    define MBF_READONLY     = &h00001000     ! [93] read only (with MBF_EDIT) (4096)
    define MBF_XCLASS       = &h00002000     ! [148] class name overrides
    define MBF_UPDOWN       = &h00004000     ! [150] (with MBF_EDIT)
    define MBF_TOOLBAR      = &h00008000     ! [240] toolbar
    define MBF_KBD          = &h00010000     ! [76] action is kbd (65536)
    define MBF_SHLEXC       = &h00020000     ! [76] action is shell execute (131072)
    define MBF_STATIC       = &h00040000     ! [81] static text control (262144)
    define MBF_MENUID       = &h00040000     ! [195] internal menu (AUI_MENU only)
    define MBF_EDIT         = &h00080000     ! [81] edit control (524288)
    define MBF_ALTPOS       = &h00100000     ! [111] alt button position logic (1048576)
    define MBF_WORDELLIPSIS = &h00200000     ! [81] word ellipsis (static) (2097152)
    define MBF_PATHELLIPSIS = &h00400000     ! [81] path ellipsis (static) (4194304)
    define MBF_WRAP         = &h00400000     ! [109] multiline wrap (buttons only) (4194304)
    define MBF_NODISTORT    = &h00400000     ! [109] maintain aspect ratio (icon buttons) (4194304)
    define MBF_MODELESS     = &h00400000     ! [112] modeless dialog (w/ MBF_DIALOG) (4194304)
    define MBF_DIM          = &h00800000     ! [82] dim attribute (static) (8388608)
    define MBF_LISTBOX      = &h01000000     ! [82] listbox (16777216)
    define MBF_FRAME        = &h02000000     ! [82] frame around static text (33554432)
    define MBF_GROUPBOX     = &h02000000     ! [88] group box (33554432)
    define MBF_COMBOBOX     = &h04000000     ! [82] combobox (not yet) (67108864)
    define MBF_UNPROTECTED  = &h08000000     ! [83] unprotects buttons (134217728)
    define MBF_PROGRESS     = &h10000000     ! [85] progress bar (268435456)
    define MBF_DIALOG       = &h20000000     ! [91] dialog box (536870912)
    define MBF_TAB          = &h40000000     ! [94] tab control (1073741824)

! *** [170] Additional styles (ctype2)
    define MBF2_STICKY      = &h00000001     ! [176] ctrl "sticks" to edge of container
    define MBF2_DLGICON     = &h00000010     ! [170] Add app icon to dlg (w/o MBF_DLGNOPARENT)
    define MBF2_PIXCOORDS   = &h00000020     ! [176] coordinates are in screen pixels
    define MBF2_PIXSIZE     = &h00000080     ! [183] ecol,erow are w,h in pix
    define MBF2_NOTHEME     = &h00000100     ! [186] disable themes for this ctl
    define MBF2_CUSTDRAW    = &h00000200     ! [186] custom draw the control
    define MBF2_ROUNDRECT   = &h00000400     ! [186] (STATIC) rounded corners
    define MBF2_ELLIPSE     = &h00000800     ! [186] (STATIC) ellipse/circle
    define MBF2_DLGNOCAP    = &h00000800     ! [233] (DIALOG) no caption (anchor to parent)
    define MBF2_RESIZE      = &h00001000     ! [187] (DIALOG) allow resizingpro
    define MBF2_STATICWIN   = &h00004000     ! [196] Static child win (groupbox alt)
    define MBF2_TABX        = &h00008000     ! [199] New extended tab (+MBF_TAB)
    define MBF2_NOMOVE      = &h00040000     ! [220] (DIALOG) don't allow movement
    define MBF2_MINBUTTON   = &h00080000     ! [224] force minimize button on modal dialog (w/ SYSMENU)
    define MBF2_FNTPTSIZE   = &h00100000     ! [228] Treat scale as pt size * 10
    define MBF2_DLGMWFNTGRID= &h00100000     ! [249] DLGNOCAP dlg uses main grid font scaling
    define MBF2_DLGSTATE    = &h00200000     ! [230] save/restore dlg state
    define MBF2_GDIPLUS     = &h00400000     ! [234] Use GDI+ lib
    define MBF2_GLOBAL      = &h00800000     ! [238] Global ctl (dlg independent)
    define MBF2_DLGNOAUTOPARENT = &h01000000 ! [242] (deprecated)
    define MBF2_NOAUTOPARENT = &h01000000    ! [242] Disables auto-parent assignment
    define MBF2_VSCROLL      = &h02000000    ! [302] internal?
    define MBF2_ALTMENU      = &h04000000    ! [302] internal?

! *** [112] AUI Classes ...
    define AUI_CONTROL     = "CONTROL"       ! [112] control ops
    define AUI_WINDOW      = "WINDOW"        ! [112] window ops
    define AUI_ENVIRONMENT = "ENVIRONMENT"   ! [112] get environment info
    define AUI_EVENTWAIT   = "EVENTWAIT"     ! [112] wait for events
    define AUI_MENU        = "MENU"          ! [112] menu ops
    define AUI_IMAGE       = "IMAGE"         ! [112] image display
    define AUI_HTMLHELP    = "HTMLHELP"      ! [112] HTML-style help ops

! *** [112] AUI_CONTROL opcodes
    define CTLOP_INFO    = 0              ! [112] query a control
    define CTLOP_ADD     = 1              ! [112] add a control
    define CTLOP_CHG     = 2              ! [112] change a control
    define CTLOP_DEL     = 3              ! [112] delete a control
    define CTLOP_CLR     = 4              ! [112] clear controls in area
    define CTLOP_QRYCB   = 5              ! [112] query checkbox
    define CTLOP_SVA     = 6              ! [112] save controls within area
    define CTLOP_RSA     = 7              ! [112] restore saved controls
    define CTLOP_SBCH    = 8              ! [112] start batch
    define CTLOP_EBCH    = 9              ! [112] end batch
    define CTLOP_GETID   = 10             ! [112] get control ID (by coords)
    define CTLOP_PANE    = 11             ! [112] set TAB control pane
    define CTLOP_REPL    = 12             ! [149] replace (del+add same id)
    define CTLOP_TABSET  = 14             ! [246] Set tabstop
    define CTLOP_TABCLR  = 15             ! [247] Clear tabstop

! *** [122] AUI_MENU opcodes
    define MNUOP_CHK    = 0               ! [122] check
    define MNUOP_ADD    = 1               ! [122] add
    define MNUOP_STA    = 2               ! [122] state change
    define MNUOP_DEL    = 3               ! [122] delete
    define MNUOP_POP    = 4               ! [150] display popup (context) menu
    define MNUOP_DSP    = 6               ! [147] display (for dialog menus)
    define MNUOP_RST    = 7               ! [184] reset to original menu

! *** Menu and Button state flags (used in AUI CONTROL) ...
    define MBST_ENABLE    = &h00000000     ! [76] enable (0)
    define MBST_DISABLE   = &h00000001     ! [76] disable (gray) (1)
    define MBST_HIDE      = &h00000004     ! [76] hide (4)
    define MBST_SHOW      = &h00000008     ! [76] unhide, unminimize (8)
    define MBST_MINIMIZE  = &h00000010     ! [159] minimize (16)
    define MBST_CENTER    = &h00000020     ! [159] center (32)
    define MBST_MAXIMIZE  = &h00000040     ! [152] maximize (64)
    define MBST_CHANGE    = &h00000080     ! [76] change text and command (128)
    define MBST_TEXTONLY  = &h00000200     ! [115] change text only (512)
    define MBST_CLREDITS  = &h00000400     ! [115] operate on edit ctls only (1024)
    define MBST_PLAY      = &h00004000     ! [138] play (SysAnimate32 / AVI)
    define MBST_NOMINMAX  = &h00004000     ! [267] no min/max button (for dialogs) 
    define MBST_STOP      = &h00008000     ! [138] stop (SysAnimate32 / AVI)
    define MBST_POS       = &h00010000     ! [146] change pos (& size)
    define MBST_STYLE     = &h00020000     ! [146] change styles (alignment)
    define MBST_CHGX      = &h00040000     ! [147] chg extended attributes
    define MBST_CHANGEX   = &h00040000     ! [147] same as MBST_CHGX
    define MBST_CHGALL    = &h00070080     ! [149] change everything
    define MBST_SELECT    = &h00080000     ! [147] 'select' control
    define MBST_DESIGN    = &h00100000     ! [147] control in design mode
    define MBST_ZTOP      = &h00200000     ! [150] set to top of z order
    define MBST_ZBOTTOM   = &h00400000     ! [150] set to bottom of z order
    define MBST_HCENTER   = &h00800000     ! [190] horiz center only (dialogs)
    define MBST_VCENTER   = &h01000000     ! [190] vert center only (dialogs)
    define MBST_CHGTIPMNU = &h02000000     ! [237] change tooltip/menu only
    define MBST_CHECKED   = &h10000000     ! [194] checked (menu item)
    define MBST_NORMALIZE = &h10000000     ! [203] normalize a dlg (CTLOP_CHG)
    define MBST_HILITE    = &h20000000     ! [194] hilite (menu item)
    define MBST_DEFAULT   = &h40000000     ! [194] default (menu item)
    define MBST_SAVRES    = &h80000000     ! [236] save/restore ctls (CTLOP_PANE)

! *** Symbolic names for dummy AUI_CONTROL args (used for placeholders)
    define NUL_CTLID    = 0
    define NUL_CTEXT$   = ""
    define NUL_CSTATE   = 0
    define NUL_CTYPE    = 0
    define NUL_CMD$     = ""
    define NUL_FUNC$    = ""
    define NUL_CSTATUS  = ""    ! (normally numeric; this form prevents rtn sts)
    define NUL_SROW     = 0
    define NUL_SCOL     = 0
    define NUL_EROW     = 0
    define NUL_ECOL     = 0
    define NUL_FGC      = -2
    define NUL_BGC      = -2
    define NUL_FONTATTR = 0
    define NUL_FONTSCALE= 0
    define NUL_FONTFACE$= ""
    define NUL_TOOLTIP$ = ""
    define NUL_PARENTID = 0
    define NUL_WINCLASS$= ""
    define NUL_WINSTYLE = 0
    define NUL_WINSTYLEX= 0
    define NUL_CTYPE2   = 0

    define RGB_TRANSPARENT = &h02020202 ! [219] special BGC value for transparent

! *** [81] Windows color index names ...
!    map1 COLOR_WINDOWS_INDEX    ! [81] Windows color indices
    define COLOR_SCROLLBAR           = 0     ! [81] scrollbar color
    define COLOR_BACKGROUND          = 1     ! [81]
    define COLOR_ACTIVECAPTION       = 2     ! [81]
    define COLOR_INACTIVECAPTION     = 3     ! [81]
    define COLOR_MENU                = 4     ! [81]
    define COLOR_WINDOW              = 5     ! [81] usually white
    define COLOR_WINDOWFRAME         = 6     ! [81]
    define COLOR_MENUTEXT            = 7     ! [81]
    define COLOR_WINDOWTEXT          = 8     ! [81]
    define COLOR_CAPTIONTEXT         = 9     ! [81]
    define COLOR_ACTIVEBORDER        = 10    ! [81]
    define COLOR_INACTIVEBORDER      = 11    ! [81]
    define COLOR_APPWORKSPACE        = 12    ! [81]
    define COLOR_HIGHLIGHT           = 13    ! [81]
    define COLOR_HIGHLIGHTTEXT       = 14    ! [81]
    define COLOR_BTNFACE             = 15    ! [81] usually gray
    define COLOR_BTNSHADOWN          = 16    ! [81]
    define COLOR_GRAYTEXT            = 17    ! [81]
    define COLOR_BTNTEXT             = 18    ! [81]
    define COLOR_INACTIVECAPTIONTEXT = 19    ! [81]
    define COLOR_BTNHIGHLIGHT        = 20    ! [81]
    define COLOR_3DDKSHADOW          = 21    ! [81]
    define COLOR_3DLIGHT             = 22    ! [81]
    define COLOR_INFOTEXT            = 23    ! [81]
    define COLOR_INFOBK              = 24    ! [81]
    define COLOR_HOTLIGHT            = 26    ! [81]


! *** [94] Windows style names (for dwStyle parameter in TAB(-10,20)) ...
! map1 WINDOW_STYLE_FLAGS     ! [94]
    define WS_VISIBLE      = &h10000000     ! [94] window visible (268435456)
    define WS_CHILD        = &h40000000     ! [94] child window (1073741824)
    define WS_OVERLAPPED   = &h00000000     ! [146]
    define WS_POPUP        = &h80000000     ! [146]
    define WS_CLIPSIBLINGS = &h04000000     ! [146]
    define WS_CLIPCHILDREN = &h02000000     ! [146]
    define WS_MAXIMIZE     = &h01000000     ! [146]
    define WS_CAPTION      = &h00C00000     ! [146]
    define WS_BORDER       = &h00800000     ! [146]
    define WS_DLGFRAME     = &h00400000     ! [146]
    define WS_SYSMENU      = &h00080000     ! [146]
    define WS_MINIMIZEBOX  = &h00020000     ! [162] add minimize button to dlg
    define WS_MAXIMIZEBOX  = &h00010000     ! [162] add maximize button to dlg
    define WS_THICKFRAME   = &h00040000     ! [174] can be used to give a raised panel look
                                            ! [174] to some controls (reverse of WS_EX_CLIENTEDGE)
    define WS_VSCROLL      = &h00200000     ! [246] Vert scroll (for dialog boxes)

    define WS_EX_DLGMODALFRAME  =  &h00000001   ! [146]
    define WS_EX_NOPARENTNOTIFY =  &h00000004   ! [146]
    define WS_EX_TOPMOST        =  &h00000008   ! [146]
    define WS_EX_ACCEPTFILES    =  &h00000010   ! [146]
    define WS_EX_TRANSPARENT    =  &h00000020   ! [146]
    define WS_EX_TOOLWINDOW     =  &h00000080   ! [146]
    define WS_EX_WINDOWEDGE     =  &h00000100   ! [146]
    define WS_EX_CLIENTEDGE     =  &h00000200   ! [146]
    define WS_EX_CONTEXTHELP    =  &h00000400   ! [146]
    define WS_EX_STATICEDGE     =  &h00020000   ! [196]
    define WS_EX_LAYERED        =  &h00080000   ! [199] (MBF_DIALOG only)

    define SS_BLACKRECT  = &h00000004     ! [94] static type - black rect
    define SS_GRAYRECT   = &h00000005     ! [94] static type - gray rect
    define SS_WHITERECT  = &h00000006     ! [94] static type - white rect
    define SS_BLACKFRAME = &h00000007     ! [94] static type - black frame
    define SS_GRAYFRAME  = &h00000008     ! [94] static type - gray frame
    define SS_WHITEFRAME = &h00000009     ! [94] static type - white frame
    define SS_TYPEMASK   = &h0000000F     ! [149] mask for extracting type
    define SS_SUNKEN     = &h00001000     ! [94] static option - sunken (4096)
    define SS_ETCHEDFRAME= &h00000012     !     static type - etched frame
    define SS_CENTERIMAGE= &h00000200     ! [174] center image with static ctl
                                          ! [174] (doesn't chg ctl size like MBF_HCENTER does)

    define PBS_MARQUEE   = &h00000008     ! [231] variation used with MBF_PROGRESS

! map1 TAB_STYLES            ! [94] tab control styles
    define TCS_FLATBUTTONS    = &h00000008     ! [94] flat button style (w/ TCS_BUTTONS) (8)
    define TCS_FORCELABELLEFT = &h00000020     ! [94] left justify label text (32)
    define TCS_BUTTONS        = &h00000100     ! [94] buttons instead of tabs (256)
    define TCS_MULTILINE      = &h00000200     ! [94] multiline (512)
    define TCS_FIXEDWIDTH     = &h00000400     ! [94] fixed width tabs (1024)


! [240] toolbar styles
    define TBSTYLE_TOOLTIPS   = &h00000100     ! [240] display tooltips
    define TBSTYLE_WRAPABLE   = &h00000200     ! [240] wrapable text
    define TBSTYLE_FLAT       = &h00000800     ! [240] flat style
    define TBSTYLE_LIST       = &h00001000     ! [240] list style (text to side)

    define TBSTYLE_EX_MIXEDBUTTONS       = &h00000007 ![240] mixture of tips and labels
    define TBSTYLE_EX_HIDECLIPPEDBUTTONS = &h00000010 ![240] hide truncated btns

    define CCS_TOP    = &h00000001  ! [240] toolbar at top (default)
    define CCS_BOTTOM = &h00000003  ! [240] toolbar at bottom
    define CCS_LEFT   = &h00000081  ! [240] toolbar on left (vertical)
    define CCS_RIGHT  = &h00000083  ! [240] toolbar on right (vertical)

    define CHARSET_SYMBOL     = &h00020000     ! [95] add to font attr for symbol set (131072)

!map1 REGISTRY_SYMBOLS        ! [100]
    define HKEY_CLASSES_ROOT  = &h80000000     ! (2147483648)
    define HKEY_CURRENT_USER  = &h80000001     ! (2147483649)
    define HKEY_LOCAL_MACHINE = &h80000002     ! (2147483650)
    define HKEY_USERS         = &h80000003     ! (2147483651)


! registry data types...
    define REG_NONE      = 0
    define REG_SZ        = 1
    define REG_EXPAND_SZ = 2
    define REG_BINARY    = 3
    define REG_DWORD     = 4
    define REG_MULTI_SZ  = 7

! registry access rights (combine)
    define RGKEY_QUERY_VALUE    = &h00000001     ! (1)
    define RGKEY_SET_VALUE      = &h00000002     ! (2)
    define RGKEY_CREATE_SUB_KEY = &h00000004     ! (4)
    define RGKEY_ENUM_SUB_KEYS  = &h00000008     ! (8)
    define RGKEY_WOW64_32KEY    = &h00000200     ! [183] access key from 32 bit registry view
    define RGKEY_WOW64_64KEY    = &h00000100     ! [183] access key from 64 bit registry view
    define RGKEY_DELETE         = &h00010000     ! [183] ability to delete key

! common registry errors
    define REGERR_NOT_FOUND     = 2              ! [183] requested key not found

! *** [108] AUI,EVENTWAIT opcode flags
    define EVW_NEXT     = &h00000001     ! start with focus on control AFTER specified one (1)
    define EVW_NOWAIT   = &h00000002     ! set focus and exit without waiting (2)
    define EVW_NOWRAP   = &h00000004     ! exit when hitting edge of group (instead of wrapping) (4)
    define EVW_NOFOCUS  = &h00000008     ! no changes to focus (just wait for an exit event) (8)
    define EVW_NUMERIC  = &h00000010     ! allow numeric keyboard input (16)
    define EVW_DESCEND  = &h00000020     ! descend into subgroups of parent (32)
    define EVW_SIBLINGS = &h00000040     ! expand range to include siblings of parent (64)
    define EVW_INFLD    = &h00000080     ! [113] support INFLD
    define EVW_EDIT     = &h00000080     ! [125] exit on editable fields (INFLD,XTREE)
    define EVW_PREV     = &h00000100     ! [113] opposite of EVW_NEXT
    define EVW_SQUELCH  = &h00000200     ! [113] squelch radiobtn exits on arrows
    define EVW_TABEXIT  = &h00000400     ! [113] exitcode 7/13 on TAB/ShiftTAB
    define EVW_ACCEL    = &h00000800     ! [115] allow accelerator keys
    define EVW_RAW      = &h00001000     ! [115] return raw keys in ctlid
    define EVW_HAREXIT  = &h00002000     ! [118] exitcodes 2,-36,12,-38 on horz arrows
    define EVW_VAREXIT  = &h00004000     ! [118] exitcodes 3,-37,5,-39 on down arrows
    define EVW_EXCDFOCUS= &h00010000     ! [125] incoming exitcode overrides CTLID
    define EVW_STATIC   = &h00020000     ! [135] allow static ctls to get focus
    define EVW_EXCDINOUT= &h00040000     ! [135] if incoming exitcode <= -100 and
                                         ! [135] not same as last, return immed.
    define EVW_CTLARROWS= &h00080000     ! [150] ctrl+arrow unique exitcodes
    define EVW_CTLCLIPBD= &h00100000     ! [150] ^C=-56, ^V=-57, ^x=-58
    define EVW_NODELAY  = &h00200000     ! [240] allow rapid clicking
    defINE EVW_ENTER    = &h00400000     ! [242] ENTER -> exitcode 33
    define EVW_ULFOCUS  = &h00800000     ! [246] highlight static ctls with ul
    define EVW_BGFOCUS  = &h01000000     ! [284] highlight static ctls by making the bg lighter (or darker)

! *** [112] AUI,HTMLHELP opcode flags
    define HHOP_DFLT    = 0              ! [112] set default help file
    define HHOP_DSPID   = 1              ! [112] display topic by ID
    define HHOP_DSPSTR  = 2              ! [112] display topic by string
    define HHOP_POPUP   = 3              ! [112] display popup message


!*** [115] MX_REGISTRY opcode symbols
    define REGOP_OPEN       = 1           ! open
    define REGOP_CREATE     = 2           ! create
    define REGOP_SET        = 3           ! set
    define REGOP_READ       = 4           ! read
    define REGOP_ENUMKEYS   = 5           ! enum keys
    define REGOP_ENUMVALS   = 6           ! enum vals
    define REGOP_CLOSE      = 7           ! close
    define REGOP_DELKEY     = 8           ! delete key [183]
    define REGOP_DELVALUE   = 9           ! delete value [183]
    define REGOP_DELIMS     = 64          ! add to above to have nulls in
                                          ! REG_MULTI_SZ fields converted
                                          ! to chr(128)

!***[151] AUI_IMAGE opcode symbols  ! [262] (note these also defined in image.def)
    define IMGOP_LOAD       = 1     ! load image
    define IMGOP_CLOSE      = 2     ! close image
    define IMGOP_DISPLAY    = 3     ! display image
    define IMGOP_LOADDISP   = 4     ! load and display
    define IMGOP_INFO       = 5     ! retrieve info about image
    define IMGOP_HIDE       = 6     ! remove img from display without closing it
    define IMGOP_ACQUIRE    = 7     ! acquire (scan)
    define IMGOP_SELECTSRC  = 8     ! select source
    define IMGOP_TWERR      = 9     ! get TWAIN error
    define IMGOP_CAPTURE    = 10    ! [216] capture screen/window to file
    define IMGOP_SAVEAS     = 11    ! [217] save loaded image as...
    define IMGOP_PAGEINFO   = 12    ! [xxx] get # pages in TIF file

++ifdef NO_LONGER_HERE              ![262] These moved to image.def

!***[217] IMGOP_CAPTURE WINID codes
    define IMGCWF_CURWIN = -2       ! [217] current window
    define IMGCWF_SCREEN = -1       ! [217] screen
    define IMGCWF_MAIN   = 0        ! [217] main window

!*** [117] IMAGE (AUI_IMAGE) flags
    define IMGF_HALFTONE    = &h01        ! halftone print method
    define IMGF_SCATTER     = &h02        ! scatter print method
    define IMGF_STRETCH     = &h04        ! stretch image to fit space
    define IMGF_SCALEQ      = &h08        ! interpolate (hq scaling)
    define IMGF_FORCEXFER   = &h10        ! [157] force xfer of file to PC
                                          ! (i.e. interpret spec as host-relative)

!*** [216] IMAGE flags related to screen capture...
    define IMGCF_CLIENT     = &h00008000  ! [216] Capture just client area of window
    define IMGCF_GRAY       = &h00010000  ! [216] Convert capture to grayscale
! all of the following imply IMGCF_GRAY...
    define IMGCF_BI_SCATTER = &h00020000  ! [216] convert to bilevel using scatter method
    define IMGCF_BI_DITHER  = &h00040000  ! [216] convert to bilevel using dither method
    define IMGCF_BI_THRESH  = &h00080000  ! [216] convert to bilevel using threshold method
    define IMGCF_NEGATE     = &h00100000  ! [216] negative image
    define IMGCF_INKSAVER   = &h00200000  ! [216] save ink by converting most
                                          ! [216] common color to white
!*** [228] IMAGE flags related to scanning
    define IMGSF_HIDEUI     = &h01        ! [228] hide scanner's dlg
    define IMGSF_ADFOUT     = &h02        ! [228] quit when ADF out of paper
    define IMGSF_CONTINUE   = &h04        ! [228] continue until page count or error

!*** [216] PNG filter flags
    define PNGF_ALL         =  0          ! [216] best filter for each row
    define PNGF_NONE        =  2          ! [216] no filter
    define PNGF_SUB         =  4          ! [216] diff with adjacent pixel
    define PNGF_UP          =  6          ! [216] diff with previous row
    define PNGF_AVG         =  8          ! [216] avg filter
    define PNGF_PAETH       = 10          ! [216] paeth filter
    
++endif     ! [262] end of section moved to image.def

!*** [216] MX_SCRNPIC flags
    define SPICF_APPEND     = &h0001      ! [216] append (vs create)
    define SPICF_SPOOL      = &h0002      ! [216] print on close
    define SPICF_DIALOG     = &h0004      ! [216] open dialog (vs. silent)
    define SPICF_DELETE     = &h0008      ! [216] delete after spool
    define SPICF_DLGOPT     = &h0010      ! [216] like _DIALOG but subject to GO2_NOPSDLG
    define SPICF_STRIP      = &h0040      ! [216] strip trailing blanks
    define SPICF_FINAL      = &h0080      ! [216] add "FINAL" to header
    define SPICF_GUICSV     = &h0100      ! [216] dump GUI ctl table to <jobnam>.csv

!*** [118] MSGBOX flags
    define MBICON_STOP            = &h0010    ! 16  ICONS
    define MBICON_QUESTION        = &h0020    ! 32
    define MBICON_EXCLAMATION     = &h0030    ! 48
    define MBICON_ICON            = &h0040    ! 64

    define MBTN_OK                = 0         ! BUTTONS
    define MBTN_OK_CANCEL             = 1
    define MBTN_ABORT_RETRY_IGNORE    = 2
    define MBTN_YES_NO_CANCEL         = 3
    define MBTN_YES_NO                = 4
    define MBTN_RETRY_CANCEL          = 5
    define MBTN_CANCEL_TRY_CONTINUE   = 6     ! [215]
    define MBTN_HELP                  = 16384 ! add to one of above

    define MBMISC_DFLT2           = &h0100    !  256 2nd button is default
    define MBMISC_DFLT3           = &h0200    !  512 3rd button is default
    define MBMISC_DFLT4           = &h0300    !  768 4th button is default [215]
    define MBMISC_DFLT5           = &h0400    ! 1024 5th button is default [270]
    define MBMISC_SYSMODAL        = &h00001000 ! 4096 system modal
    define MBMISC_TASKMODAL       = &h00002000 ! 8192 task modal
    define MBMISC_TOPMOST         = &h00008000 ! 32768 top most [149]

    define MBRC_OK                = 1          ! RETURN CODES
    define MBRC_CANCEL            = 2
    define MBRC_ABORT             = 3
    define MBRC_RETRY             = 4
    define MBRC_IGNORE            = 5
    define MBRC_YES               = 6
    define MBRC_NO                = 7
    define MBRC_CLOSE             = 8
    define MBRC_HELP              = 9
    define MBRC_TRYAGAIN          = 10         ! [215]
    define MBRC_CONTINUE          = 11         ! [215]
    define MBRC_CTRLC             = 12         ! [215]

!*** [287] extended MSGBOX flags
    define MBX_RCBTNO             = &h10000000 ! [287] use 101-105 for buttons 1-5 
    define MBX_FRCTXT             = &h20000000 ! [287] force plain text version

    define MBX_TI1                = &h00100000 ! [299] time-in delay on button 1
    define MBX_TI2                = &h00200000 ! [299] time-in delay on button 2
    define MBX_TI3                = &h00400000 ! [299] time-in delay on button 3
    define MBX_TI4                = &h00800000 ! [299] time-in delay on button 4
    define MBX_TI5                = &h01000000 ! [299] time-in delay on button 5

!*** [118] MX_GETOFD flags
    define OFN_HIDEREADONLY      = &h00000004    ! Hides the read-only checkbox (4)
    define OFN_NOCHANGEDIR       = &h00000008    ! Disable ability to change the directory {8)
    define OFN_FOLDERONLY        = &h00000080    ! [178] Select folder only
    define OFN_NOVALIDATE        = &h00000100    ! Don't force filename to contain only valid chars (256)
    define OFN_ALLOWMULTISELECT  = &h00000200    ! Allow multiselect - see OFN_EXPLORER (512)
    define OFN_EXTENSIONDIFFERENT= &h00000400    ! Set on return if extension differs from DEFEXT (1024)
    define OFN_PATHMUSTEXIST     = &h00000800    ! Path must exist (2048)
    define OFN_FILEMUSTEXIST     = &h00001000    ! File must exist (implies OFN_PATHMUSTEXIST) (4096)
    define OFN_CREATEPROMPT      = &h00002000    ! Prompt for permission to create if not existant (8192)
    define OFN_NOREADONLYRETURN  = &h00008000    ! Set on return if file not read-only, directory writeable(32768)
    define OFN_NONETWORKBUTTON   = &h00020000    ! Disables the network button (131072)
    define OFN_EXPLORER          = &h00080000    ! Force new Explorer style (needed only with OFN_ALLOWMULTISELECT) (524288)
    define OFN_DONTADDTORECENT   = &h02000000    ! Don't add to must recently used list (33554432)
    define OFN_FORCESHOWHIDDEN   = &h10000000    ! [178] Force showing hidden & system files
    define OFN_FORCEPREVIEWPANEON= &h40000000    ! [300] Force preview pane on (1698+)

!*** [178] MX_BROWSEFOLDER flags
    define BIF_RETURNONLYFSDIRS  = &h0001   ! [178] return only file sys dirs
    define BIF_DONTGOBELOWDOMAIN = &h0002   ! [178]
    define BIF_STATUSTEXT        = &h0004
    define BIF_RETURNFSANCESTORS = &h0008
    define BIF_EDITBOX           = &h0010   ! [178] add an editbox to dialog
    define BIF_VALIDATE          = &h0020   ! [178] insist on valid result (or CANCEL)
    define BIF_NEWDIALOGSTYLE    = &h0040   ! [178] new style (resizeable)
    define BIF_USENEWUI          = &h0050   ! [178] new style + edit box
    define BIF_BROWSEINCLUDEURLS = &h0080   ! [178] allow URLs (req BIF_USENEWUI)
    define BIF_UAHINT            = &h0100   ! [178] UA hint in place of edit box
    define BIF_NONEWFOLDERBUTTON = &h0200   ! [178] No "New Folder" button
    define BIF_KBDLOCKLATETARGETS= &h0400   ! [178] don't traverse target as shortcut
    define BIF_BROWSEFORCOMPUTER = &h1000   ! [178] browsing for computers
    define BIF_BROWSEFORPRINTER  = &h2000   ! [178] browsing for printers
    define BIF_BROWSEINCLUDEFILES= &h4000   ! [178] browsing for everything
    define BIF_SHAREABLE         = &h8000   ! [178] shareable resources displayed


!*** [121] MX_GDICALC opcode
    define MXGDI_OPENPTR         = 1             ! open printer
    define MXGDI_SETFONT         = 2             ! set font
    define MXGDI_CALCRECT        = 3             ! calc height of rectangle needed
    define MXGDI_CALCLEN         = 4             ! calc length of string
    define MXGDI_CLOSEPTR        = 5             ! close printer
    define MXGDI_CALCRECTX       = 6             ! [169] variation of MXGDI_CALCRECT for XTEXT

!*** [124] Flags associated with MX_WINSETTINGS (Misc Settings Dialog)
    define AWS_LEADING          = 1              ! Leading
    define AWS_LEADCLR          = 2              ! Leading color fill option
    define AWS_LEADCLR_AUTO             = -1     !  auto fill (use color above)
    define AWS_LEADCLR_PASSIVE          = -2     !  don't fill except in screen clear
    define AWS_FONTSCALE        = 3              ! font scale factor
    define AWS_MINMAXMARGIN     = 4              ! min margin when maximized
    define AWS_FIXEDPITCHEDIT   = 5              ! use fixed pitch in edit boxes
    define AWS_WININFCLR        = 6              ! use std Windows colors in edit boxes
    define AWS_EDITLEADING      = 7              ! extend edit boxes into leading area
    define AWS_CBEDITMATCH      = 8              ! set edit boxes to combo height
    define AWS_DLGGRIDBASIS     = 9              ! dialog size based on...
    define AWS_DLGGRIDBASIS_FONTSIZE    = 0      !  font size
    define AWS_DLGGRIDBASIS_WINDOWSIZE  = 1      !  size of main window
    define AWS_DLGGRIDBASIS_PROGCTL     = 2      !  program control
    define AWS_DLGGRIDHEIGHT    = 10             ! dlg grid height (% of fontsize)
    define AWS_DLGGRIDWIDTH     = 11             ! dlg grid width (% of fontsize)
    define AWS_BEEPCODE         = 12             ! default beep sound w/ chr(7)
    define AWS_BEEPCODE_DEFAULT         = 0      ! default beep
    define AWS_BEEPCODE_HAND            = 16     ! aka stop?
    define AWS_BEEPCODE_QUESTION        = 32     ! SystemQuestion
    define AWS_BEEPCODE_EXCLAM          = 48     ! systemExclamation
    define AWS_BEEPCODE_ASTERISK        = 64     ! SystemAsterisk
    define AWS_DLGFONTSCALE     = 13             ! ALTPOS dlg font scale
    define AWS_DLGCAPTINC       = 14             ! Inc caption in dlg ht.
    define AWS_WININFBGC        = 15             ! RGB BG color for active edits
    define AWS_FONTFACE         = 16             ! [163] fixed pitch font
    define AWS_GUI_FONTFACE     = 17             ! [163] gui font
    define AWS_INF_FONTFACE     = 18             ! [168] INFLD fontface
    define AWS_INF_FONTSCALE    = 19             ! [168] INFLD fontscale
    define AWS_CHARSET          = 20             ! [185] fixed font charset (ANSI,OEM)
    define AWS_XTR_FONTFACE     = 21             ! [206] XTREE default fontface

!*** MX_WINSETTINGS opcodes (0=get,1=set can share MXOP_GET, MXOP_SET)
    define AWSOP_SAVE           = 2              ! [154] save

!*** [126] TCPX.SBR opcodes

    define TCPOP_ACCEPT = 1         ! server: listen for, accept connection
    define TCPOP_WRITE = 2          ! send
    define TCPOP_READ = 4           ! receive
    define TCPOP_SHUTDOWN = 5       ! send shutdown notification
    define TCPOP_CLOSE = 6          ! close socket
    define TCPOP_CHECK = 7          ! check if data avail to read
    define TCPOP_CHKQTY = 8         ! check how much data avail to read
    define TCPOP_CONNECT = 9        ! client connect
    define TCPOP_CONNECT_OLD = 10   ! client connect (old-style, rcv 32 bytes)
    define TCPOP_ERRMSG = 11        ! get error message for STATUS
    define TCPOP_STARTTLS = 12      ! [205] STARTTLS (engage TLS mode)
    define TCPOP_WRITE_UDP = 18     ! [295] UDP version of WRITE
    define TCPOP_READ_UDP = 20      ! [295] UDP version of READ
    
!*** [126] TCPX.SBR flags

    define TCPXFLG_BLOCK     = &h0001     ! establish a blocking connection
    define TCPXFLG_LISTEN    = &h0004     ! return from accept w/o waiting for conn.
    define TCPXFLG_ASYNC     = &h0008     ! accept conn on previously opened skt
    define TCPXFLG_KEEPLISTEN= &h0010     ! keep listening sock open after conn
    define TCPXFLG_SHUTRD    = &h0020     ! shut receiving side (TCPOP_SHUTDOWN)
    define TCPXFLG_SHUTWR    = &h0040     ! shut sending side (TCPOP_SHUTDOWN)
    define TCPXFLG_NODELAY   = &h0080     ! [202] disable Nagle (set NODELAY)
    define TCPXFLG_LINGER    = &h0100     ! [202] set SO_LINGER (put timer secs in 4th byte of FLAGS)
    define TCPXFLG_TLS       = &h00100000 ! [204] TLS mode
    define TCPXFLG_STARTTLS  = &h00200000 ! [204] STARTTLS mode
    define TCPXFLG_UDP       = &h00400000 ! [295] UDP mode (with TCPOP_ACCEPT, TCPOP_READ) 

!*** [127] //SETPEN symbols (combine one from each group)

    define PS_SOLID = 0                 ! solid line
    define PS_DASH = 1                  ! dashed line ----
    define PS_DOT = 2                   ! dotted line ....
    define PS_DASHDOT = 3               ! -.-.-.
    define PS_DASHDOTDOT = 4            ! -..-..-..

    define PS_ENDCAP_ROUND = 0          ! rounded endcaps
    define PS_ENDCAP_SQUARE = &h0100    ! square endcaps
    define PS_ENDCAP_FLAT = &h0200      ! flat endcaps

    define PS_JOIN_ROUND = 0            ! round joins
    define PS_JOIN_BEVEL = &h1000       ! bevel joins
    define PS_JOIN_MITER = &h2000       ! miter joins

!*** [127] //SETTEXTALIGN symbols (combine one from each group)

    define TA_LEFT      = 0             ! horizontal alignment
    define TA_RIGHT     = 2             !
    define TA_CENTER    = 6             !

    define TA_TOP       = 0             ! vertical alignment
    define TA_BOTTOM    = 8             !
    define TA_BASELINE  = 24            !

!*** [127] font charset symbols (choose 1)

    define ANSI_CHARSET     = 0         ! ANSI
    define DEFAULT_CHARSET  = 1         ! don't care
    define SYMBOL_CHARSET   = 2         ! symbol characters
    define OEM_CHARSET      = 255       ! OEM (system dependent)

!*** [127] font pitch-and-family symbols

    define DEFAULT_PITCH    = 0         ! Add one of these...
    define FIXED_PITCH      = 1
    define VARIABLE_PITCH   = 2

    define FF_DONTCARE      = &h000     ! with one of these...
    define FF_ROMAN         = &h010     ! variable stroke, serif (Times)
    define FF_SWISS         = &h020     ! variable stroke, sans serif (Helv)
    define FF_MODERN        = &h030     ! constant stroke (Pica, Courier)
    define FF_SCRIPT        = &h040     ! cursive
    define FF_DECORATIVE    = &h050     ! Old English, etc.

!*** [127] font style symbols (combine one or more)

    define FS_UPRIGHT       = &h00
    define FS_ITALIC        = &h01
    define FS_UNDERLINE     = &h02
    define FS_STRIKEOUT     = &h04

!*** [127] font weight symbols (choose one)
!*** [127] NOTE: these only apply to //SETFONT, and even there they
!*** [127] aren't needed because you can use the literal names "THIN",
!*** [127] "BOLD", etc.

    define FW_DONTCARE      = 0
    define FW_THIN          = 100
    define FW_EXTRALIGHT    = 200
    define FW_LIGHT         = 300
    define FW_NORMAL        = 400
    define FW_MEDIUM        = 500
    define FW_SEMIBOLD      = 600
    define FW_BOLD          = 700
    define FW_EXTRABOLD     = 800
    define FW_HEAVY         = 900

!*** [128] Use the FA_ symbols for the fontattr parameter in AUI_CONTROL
!*** [128] and the Font= and HdrFont= clauses in XTREE.  (They are
!*** [128] shifted up 4 bits from the FW_xxx values in order to avoid
!*** [128] conflict with other font attributes

    define FA_DONTCARE      = 0
    define FA_THIN          = 1600
    define FA_EXTRALIGHT    = 3200
    define FA_LIGHT         = 4800
    define FA_NORMAL        = 6400
    define FA_MEDIUM        = 8000
    define FA_SEMIBOLD      = 9600
    define FA_BOLD          = 11200
    define FA_EXTRABOLD     = 12800
    define FA_HEAVY         = 14400


!*** [127] Additional special flags used for FONTATTR parameter

    define FA_GRIDWIDTH     = &h8000    ! (for fixed pitch fonts, try
                                        ! to scale width to grid width)
    define FA_SYMBOL        = &h20000   ! select symbol charset


!*** [127] //SETBRUSH styles

    define BS_SOLID         = 0     ! solid
    define BS_NULL          = 1     ! null (no brush at all)
    define BS_HATCHED       = 2     ! hatched (see HS_xxx below)

!*** [174] Button styles

    define BS_LEFT           = &h00000100    ! [209] left alignment (normal btn)
    define BS_RIGHT          = &h00000200    ! [209] right alignment (normal btn)
    define BS_TOP            = &h00000400    ! [174] top alignment (of text within)
    define BS_BOTTOM         = &h00000800    ! [174] bottom alignment
    define BS_VCENTER        = &h00000C00    ! [174] center (default)
    define BS_MULTILINE      = &h00002000    ! [209] same as MBF_WRAP
    define BS_FLAT           = &h00008000    ! [186] flat
    define BS_SPLITBUTTON    = &h0000000C    ! [234] split button
    define BS_CMDLINK        = &h0000000E    ! [234] cmd link button

!*** [127] //SETBRUSH hatch patterns

    define HS_HORIZONTAL    = 0     ! ----
    define HS_VERTICAL      = 1     ! ||||
    define HS_BDIAGONAL     = 2     ! \\\\
    define HS_FDIAGONAL     = 3     ! ////
    define HS_CROSS         = 4     ! ++++
    define HS_DIAGCROSS     = 5     ! XXXX

!*** [127] //RECTANGLE and //ELLIPSE fill patterns

    define WHITE_BRUSH      = 0
    define LTGRAY_BRUSH     = 1
    define GRAY_BRUSH       = 2
    define DKGRAY_BRUSH     = 3
    define BLACK_BRUSH      = 4
    define NULL_BRUSH       = 5

!*** [135] INFLD CMDFLG parameter flags

    define INFCF_CMDFIL     = &h01  ! input from command file
    define INFCF_DROPDOWN   = &h02  ! start with drop-down displayed
    define INFCF_EXISTING   = &h04  ! start w/ existing ctl value (not ENTRY)
    define INFCF_DISABLE    = &h08  ! create/display disabled field

!*** [135] INFLD OPCODE parameter flags

    define INFOP_EDIT       = &h00  ! edit mode
    define INFOP_PRELOAD    = &h01  ! preload field from ENTRY
    define INFOP_DISPLAY    = &h02  ! display mode (no edit)
    define INFOP_SIMPLE     = &h04  ! simplified display mode (obsolete)
    define INFOP_FORMATTED  = &h08  ! add to return field as formatted
    define INFOP_FMTONLY    = &h12  ! format only
    define INFOP_READONLY   = &h21  ! read-only input mode (exitcodes only)
    define INFOP_DSPMASK    = &h06  ! any display mode (DISPLAY or SIMPLE)

!*** [135] INFLD EXITCODE values

    define EXC_ESC          = 1     ! ESCAPE            (TYPE 1)
    define EXC_LEFT         = 2     ! left arrow (^H)   (TYPE 2)
    define EXC_UP           = 3     ! up arrow (^K)     (TYPE 3)
    define EXC_PGUP         = 4     ! page up (^R)      (TYPE 4)
    define EXC_DOWN         = 5     ! down arrow (^J)   (TYPE 5)
    define EXC_PGDN         = 6     ! page down (^T)    (TYPE 6)
    define EXC_TAB          = 7     ! TAB               (TYPE T)
    define EXC_HELP         = 8     ! ? (Help)          (TYPE ?)
    define EXC_HOME         = 9     ! HOME              (TYPE 9)
    define EXC_CTRLC        = 10    ! Control C         (TYPE V)
    define EXC_TIME         = 11    ! Time out
    define EXC_RIGHT        = 12    ! Right arrow (^L)  (TYPE L)

!*** [135] XTREE, XTEXT, EZTYP, EVENTWAIT EXITCODES [152]

    define EXC_SELFCOMBO    = 29    ! self-service combo [152]

    define EXC_SHIFT_TAB    = -35   ! shift tab (XTF_TAB, TXF_TAB) [152]
    define EXC_SHIFT_LEFT   = -36   ! shift left (EVW_CTLARROW) [152]
    define EXC_SHIFT_UP     = -37   ! shift up (EVW_VAREXIT) [152]
    define EXC_SHIFT_RIGHT  = -38   ! shift right (EVW_HAREXIT) [152]
    define EXC_SHIFT_DOWN   = -39   ! shift down (EVW_VAREXIT) [152]
    define EXC_XLEFT        = -40   ! left arrow (XTF_LEFT, TXF_LEFT)
    define EXC_XRIGHT       = -41   ! right arrow (XTF_RIGHT, TXF_RIGHT)
    define EXC_XUP          = -42   ! up arrow (XTF_UP, TXF_UP)
    define EXC_XDOWN        = -43   ! down arrow (XTF2_DOWN) [207]
    define EXC_XTAB         = -44   ! TAB (XTF_TAB, TXF_TAB)
    define EXC_XHOME        = -45   ! HOME (XTF_HOME, TXF_HOME)
    define EXC_END          = -46   ! END (XTF_END, TXF_END) [152]
    define EXC_XDEL         = -47   ! DEL (XTF_DEL, TXF_DEL)
    define EXC_VALIDATE     = -48   ! cell validation required [152]
    define EXC_CTRL_LEFT    = -52   ! ctrl left (EVW_CTLARROW+EVW_HAREXIT) [152]
    define EXC_CTRL_UP      = -53   ! ctrl up (EVW_CTLARROW+EVW_VAREXIT) [152]
    define EXC_CTRL_RIGHT   = -54   ! ctrl right (EVW_CTLARROW+EVW_HAREXIT) [152]
    define EXC_CTRL_DOWN    = -55   ! ctrl down (EVW_CTLARROW+EVW_VAREXIT) [152]
    define EXC_COPY         = -56   ! ctrl+c (EVW_CTLCLIPBD) [152]
    define EXC_PASTE        = -57   ! ctrl+v (EVW_CTLCLIPBD) [152]
    define EXC_CUT          = -58   ! ctrl+x (EVW_CTLCLIPBD) [152]
    define EXC_RO_DBLCLK    = -59   ! dbl click on read-only cell (u) [152]
    define EXC_CTRLZ        = -60   ! ctrl+z (EVW_CTLCLIPBD) [152]
    define EXC_CTRL_MINUS   = -61   ! ctrl- (EVW_CTLARROW) [152]
    define EXC_CTRL_PLUS    = -62   ! ctrl+ (EVW_CTLARROW) [152]



!*** [138] SYSANIMATE32 Class style flags
    define ACS_CENTER      = &h0001 ! center in rectangle (AVI's don't scale)
    define ACS_TRANSPARENT = &h0002 ! transparent background (desirable!)
    define ACS_AUTOPLAY    = &h0004 ! automatically start playing

!*** [129] MIAMEX,MX_COPYFILE flags
    define CPYF_MOVE       = &h0001 ! Move (vs. Copy)
    define CPYF_REPL       = &h0002 ! Allow replacement of existing dest.
    define CPYF_SETRO      = &h0010 ! [156] force read-only attrib on output file
    define CPYF_CLRRO      = &h0020 ! [156] clear read-only attrib on output file
    define CPYF_ENCRYPT    = &h0040 ! [213] force output file to be encrypted
    define CPYF_DECRYPT    = &h0080 ! [213] force output file to be decrypted

!*** [141] MIAMEX,MX_FILESTATS flags
    define FSTS_PRVPX      = &h0001 ! public execute priv
    define FSTS_PRVPW      = &h0002 ! public write priv
    define FSTS_PRVPR      = &h0004 ! public read priv
    define FSTS_PRVGX      = &h0008 ! group execute priv
    define FSTS_PRVGW      = &h0010 ! group write priv
    define FSTS_PRVGR      = &h0020 ! group read priv
    define FSTS_PRVOX      = &h0040 ! owner execute priv
    define FSTS_PRVOW      = &h0080 ! owner write priv
    define FSTS_PRVOR      = &h0100 ! owner read priv
    define FSTS_SSWT       = &h0200 ! save swapped text after use (sticky)
    define FSTS_SGID       = &h0400 ! set group id on execution
    define FSTS_SUID       = &h0800 ! set user id on execution
    define FSTS_PIPE       = &h1000 ! file is a pipe
    define FSTS_SPC        = &h2000 ! file is a chr/special
    define FSTS_DIR        = &h4000 ! file is a directory
    define FSTS_NORM       = &h8000 ! normal file

!***[146] ASHMONTHCAL styles
    define MCS_DAYSTATE         = &h0001
    define MCS_MULTISELECT      = &h0002
    define MCS_WEEKNUMBERS      = &h0004
    define MCS_NOTODAYCIRCLE    = &h0008
    define MCS_NOTODAY          = &h0010
    define MCS_NOTRAILINGDATES  = &h0040    ! [197] disable next/prev (doesn't work?)
    define MCS_SHORTDAYSOFWEEK  = &h0080    ! [197] shortened day headers
    define MCS_NOSELCHANGEONNAV = &h0100    ! [197]

!***[148] ASHDATETIME styles
    define DTS_SHORTDATEFORMAT        = &h0000
    define DTS_UPDOWN                 = &h0001  ! use UPDATE instead of MONCAL
    define DTS_SHOWNONE               = &h0002
    define DTS_SHORTDATECENTURYFORMAT = &h000C
    define DTS_TIMEFORMAT             = &h0009
    define DTS_RIGHTALIGN             = &h0020  ! right align popup


!***[149] ASHCOMBO styles
    define CBS_DROPDOWN     = &h0002
    define CBS_DROPDOWNLIST = &h0003

!***[149] ASHUPDOWN styles
    define UDS_SETBUDDYINT  = &h0002
    define UDS_ALIGNRIGHT   = &h0004
    define UDS_AUTOBUDDY    = &h0010

!***[151] MX_SHOWWINDOW (AUI_WINDOW) flags
    define SW_QRYCTLPIXCLI  = -4   ! [240] same as -3 but use client pix
    define SW_QRYCTLPIX     = -3   ! [218] query win/ctl info (in pix)
    define SW_QRYMON        = -2   ! [165] Query monitor info
    define SW_QUERY         = -1   ! Query window/ctl info (in univ coords)
    define SW_QRYCTLUNV     = -1   ! [218] (alt name) (in univ coords)
    define SW_HIDE          = 0    ! Hide window
    define SW_SHOWNORMAL    = 1    ! Show normal (neither max nor min)
    define SW_SHOWMINIMIZED = 2    ! Minimize
    define SW_SHOWMAXIMIZED = 3    ! Maximize
    define SW_SHOWNOACTIVATE= 4    ! show in current size/pos; don't activate
    define SW_SHOW          = 5    ! activate and display in current size/pos
    define SW_MINIMIZE      = 6    ! minimize & activate next top-level window
    define SW_MINNOACTIVE   = 7    ! Show minimized, don't activate
    define SW_SHOWNA        = 8    ! Show window, don't activate
    define SW_RESTORE       = 9    ! Restore from min/max
    define SW_WINDEFAULT    = 10   ! Reset to way app was launched
    define SW_ASHDEFAULT    = 64   ! Add +64 to reset to .ash file settings


!***[201] convenient symbol for the terminator on TAB(-10,AG_XXX) commands
map1 AG_TERM,S,1,chr(127)          ! [201] terminator

!***[151] TAB(-10,x) symbols

    define AG_MINTITLE      = 1	    ! Set minimized window title
    define AG_WINTITLE      = 2     ! Set non-minimized window title
    define AG_MESSAGEBEEP   = 3     ! Beep
    define AG_MESSAGEBOXOK  = 4     ! Message box
    define AG_NEWPRODUCT    = 6     ! Assign new product name
    define AG_BEVEL         = 13    ! Set beveling flags
    define AG_SETCOLOR      = 15    ! Define colors
    define AG_PALETTE       = 15    ! Query palette (same as AG_COLOR but different syntax)
    define AG_RESETWINDOW   = 16    ! Reset window settings to ash file
    define AG_MESSAGEBOXSTD = 17    ! Call MessageBox() with all supported flags
    define AG_CONTROL       = 20    ! Edit control
    define AG_MENU          = 21    ! Edit menu item
    define AG_FTP           = 22    ! Initiate ftp
    define AG_WINEXEC       = 23    ! Execute Windows command line
    define AG_SHLEXEC       = 24    ! Shell Execute
    define AG_XFUNC         = 25    ! Call an XFUNC
    define AG_SETWINCLR     = 26    ! Associate palette with Windows colors
    define AG_SYSBCLR       = 26    ! [225] alias AG_SETWINCLR (matches MX_SYSBCLR)
    define AG_SHOWWINDOW    = 27    ! [216] show window
    define AG_FLASHWINDOW   = 28    ! Flash window
    define AG_FTPSETPW      = 29    ! Set FTP password
    define AG_FILESTATS     = 31    ! Get file stats
    define AG_MKDIR         = 32    ! Make directory
    define AG_EVENTWAIT     = 33    ! AUI_EVENTWAIT
    define AG_STATUSLINES   = 34    ! Enable/disable status lines
    define AG_IMAGE         = 35    ! AUI_IMAGE
    define AG_HOLDKBD       = 36    ! Set kbd hold
    define AG_WALLPAPER     = 39    ! Set wallpaper
    define AG_SAVERES       = 40    ! Save / restore screen w/ ID
    define AG_FREELIB       = 41    ! [234] Unload a DLL 
    define AG_BUFSIZ        = 42    ! [234] Set ATE buffer size (dflt 3072)
    define AG_TEXTALIGN     = 43    ! [234] Set text cell align (dflt top left)
    define AG_ATEDISCONNECT = 44    ! force ate disconnect
    define AG_GETENV        = 45    ! retrieve ATE environment var
    define AG_WINSETTINGS   = 46    ! [185] get/set settings (.ash file)
    define AG_GETOFD        = 47    ! get open file dialog
    define AG_RELEASEKBD    = 49    ! release (unbuffer) kbd
    define AG_SETCURSOR     = 50    ! set mouse cursor (same as tab(-1,160))
    define AG_DISCONNECTPW  = 53    ! disconnect password
    define AG_SPOOLCFG      = 54    ! send spooler cfg info
    define AG_FTPSYNC       = 55    ! FTP sync
    define AG_WINPTR        = 56    ! Select printer dialog
    define AG_EVTMSG        = 57    ! Output debug message
    define AG_DESIGN        = 61    ! Design mode ops
    define AG_WRAP          = 62    ! Wrap on/off
    define AG_SYSCOLOR      = 63    ! [157] get/set Windows system colors
    define AG_DATETIME      = 64    ! [216] retrieve client date and time
    define AG_CLIPBOARD     = 65    ! [216] get/set clipboard
    define AG_OSVER         = 66    ! [216] get OSVER of client
    define AG_ATTRSUB       = 68    ! [189] attribute substitution
    define AG_OPTIONS       = 69    ! [189] get/set options
    define AG_BROWSEFOLDER  = 70    ! [178] browse for folder
    define AG_GETSHELLPATH  = 71    ! [178] translate dir ID to path
    define AG_SHORTCUT      = 72    ! [189] create shortcut
    define AG_XFUNC2        = 73    ! [189] like AG_XFUNC but no rtn value
    define AG_CHKPCNET      = 74    ! [189] check PC internet connectivity
    define AG_XFUNCS        = 75    ! [191] string version of AG_XFUNC
    define AG_TRACE         = 76    ! [192] clr/set/get trace flags
    define AG_SETENV        = 77    ! [195] set env var
    define AG_ISFOREGROUND  = 78    ! [210] check if app in foreground
    define AG_IATIMEOUT     = 79    ! [220] get/set IATIMEOUT
    define AG_SENDKBD       = 82    ! [216] send kbd characters
    define AG_RAWDATA       = 83    ! send raw data
    define AG_HANDSHAKE     = 85    ! send/rcv various info with ATE client
    define AG_AUTOPARENT    = 87    ! [189] set PC autoparent (MX_AUTOPARENT)
    define AG_ACK           = 88    ! [254] request client ack
    define AG_GETFLAGS      = 92    ! [216] get FLAGS from client
    define AG_TYPEAHEAD     = 95    ! [254] send typeahead to ATE
    define AG_SHOWFONT      = 99    ! [216] show font info
    define AG_MOUSE         = 100   ! [235] set mouse options
    define AG_COM           = 101   ! [235] COM operations hook
    define AG_SBRFLAGS      = 102   ! [235] get/set SBR= flags
    define AG_GETFILEDATA   = 103   ! [241] Retrieve file via kbd channel
    define AG_PLAYSOUND     = 104   ! [245] Play a sound
    define AG_CLRINBUF      = 106   ! [254] Clear client input buffer
    define AG_DELAYOP       = 107   ! [258] Request delayed op
    define AG_WEBCACHE      = 108   ! [267] Set webcache options
    define AG_SCROLLBACK    = 109   ! [275] clear/set/toggle scrollback feature
    define AG_DPM           = 110   ! [304] set -dpm switch
    define AG_GETDPI        = 111   ! [298] retrieve DPI info [304] was 110
    define AG_DRAGDROP      = 112   ! [304] MX_DRAGDROP
    define AG_FILETIMES     = 113   ! [304] set/get file create/modify/access time
    define AG_DIRCLEAN      = 114   ! [304] scan/clean selected files in directory
    define AG_GETLOCALE     = 115   ! [305] get locale info
    
!***[157] Flags used by MX_ABOUT
    define ALF_SRV = &h0001         ! server license includes ATE
    define ALF_AUX = &h0002         ! aux ATE licensing (ate.lic)
    define ALF_CLI = &h0004         ! ATE licensed on client

![272] define EF_RUNTIME = &h0001	    ! Runtime expiration (else maint)
![261] define EF_EXPIRED = &h0010	    ! Expired (runtime or maint)

define EF_NORMAL      = 0           ! [272] license good
define EF_DEMO        = 1           ! [272] demo mode
define EF_BADKEY      = 2           ! [272] bad key
define EF_BADCO       = 3           ! [272] bad company
define EF_BADOS       = 6           ! [272] bad os
define EF_EXPIRED     = 7           ! [272] expired runtime
define EF_EXPIRED_EXE = 8           ! [272] expired maint
define EF_ATSD        = 10          ! [272] ATSD not licensed
define EF_BADMAC      = 12          ! [272] MAC address not valid
define EF_SERIAL      = 13          ! [272] serial # out of range
define EF_BADKEYFMT   = 14          ! [272] bad key format
define EF_BADKEYVER   = 15          ! [272] bad key version
! following bit independent of above 
define EF_RUNTIME     = &h020	    ! [272] runtime expiration (else maint)


!*** [165] tab(-10,AG_MENU) symbols for built-in menu items (dialogs)
    define IDM_ABOUT     = 101      ! Help..About
    define IDM_LOAD      = 107      ! File..Load Settings
    define IDM_SAVE      = 108      ! File..Save Settings
    define IDM_SAVEAS    = 109      ! File..Save Settings As
    define IDM_DEFAULTS  = 112      ! File..Default Settings
    define IDM_EXIT      = 111      ! File..Exit [216]
    define IDM_PRINTS    = 110      ! File..Print Screen [216][226]
    define IDM_AUTOMOUSE = 124      ! Edit..AutoMouse [211]
    define IDM_COPY      = 115      ! Edit..Copy [211]
    define IDM_PASTE     = 116      ! Edit..Paste
    define IDM_SCHEDULE  = 106      ! Settings..Scheduling
    define IDM_BEVELING  = 122      ! Settings..Beveling
    define IDM_COLORS    = 113      ! Settings..Colors
    define IDM_FONTSYS   = 123      ! Settings..Font..System
    define IDM_FONTGUI   = 132      ! Settings..Font..GUI
    define IDM_FONTGRID  = 144      ! Settings..Font..Grid [211]
    define IDM_MISC      = 130      ! Settings..Misc Settings
    define IDM_DLGSIZING = 134      ! Settings..Dialog Sizing
    define IDM_PVPREF    = 142      ! Settings..Preview Preferences [211]
    define IDM_KBDLOCK   = 117      ! Settings..Keyboard Lock
    define IDM_RESET     = 131      ! Settings..Reset [211]
    define IDM_SCROLLBACK= 160      ! Settings..Scrollback [275]
    
!***[180] ASFLAG.SBR symbols
    define AF_READONLY      = &h000001  !auto-read'only flag
    define AF_SYNCWRITE     = &h000002  ! [180] syncwrite flag
    define AF_DIVIDEBY0     = &h000004  ! [180] DIVIDE'BY'0 mode
    define AF_EXITSBX       = &h000008  ! [180] force exit to dot from sbx
    define AF_MMAP          = &h000010  ! [180] mmap random'forced files
    define AF_NOIDXLOK      = &h000020  ! [180] no ISAM idx locking at all
    define AF_LOCALCOPY     = &h000040  ! [180] make local copy of file
    define AF_SETCTRLC      = &h000080  ! [180] set ^C on return from sbx
    define AF_NOMMAP        = &h000100  ! [180] override auto mmapping via mapfile
    define AF_CRYPT         = &h000200  ! [180] encrypt on allocate, disam create
    define AF_NOCRYPT       = &h000400  ! [180] override m1.crypt flags
    define AF_CSVNOQUOTE    = &h000800  ! [180] treat quote as normal char in INPUT CSV
    define AF_CSVSMARTQUOTE = &h001000  ! [180] "smart" interpretation of quotes in INPUT CSV
![223] define AF_SBXAUTOUPDATE = &h004000  ! [219] auto update SBX in mem
    define AF_NOSTREAMEFS   = &h004000  ! [223] Bypass EFS for stream functions (EFS only)

    define AF_ISAMNODUPERRS = &h008000  ! [232] ignore CREATE'RECORD dup errs
    define AF_SBXASRUN      = &h010000  ! [232] Auto close files on SBX rtn
    define AF_SQLPERSIST    = &h020000  ! [256] Don't auto-close SQL connections

!***[181] AMOS.SBR symbols
    define XAMOS_DEFAULT    = 0      ! [181] not silent, not forcing AMOSRUNSBR
    define XAMOS_RUNSBR     = 1      ! [181] force AMOSRUNSBR
    define XAMOS_NORUNSBR   = 2      ! [181] force NOAMOSRUNSBR
    define XAMOS_QUIET      = "Q"    ! [181] quiet mode

!***[182] SPOOL.SBR switch symbols
    define SPSW_BANNER        = &h00000001    ! [182] BANNER
    define SPSW_NOBANNER      = &h00000002    ! [182] NOBANNER
    define SPSW_DELETE        = &h00000004    ! [182] DELETE
    define SPSW_NODELETE      = &h00000008    ! [182] NODELETE
    define SPSW_HEADER        = &h00000010    ! [259] HEADER
    define SPSW_NOHEADER      = &h00000020    ! [259] NOHEADER
    define SPSW_FF            = &h00000040    ! [182] FF
    define SPSW_NOFF          = &h00000080    ! [182] NOFF
    define SPSW_WAIT          = &h00000100    ! [259] WAIT
    define SPSW_PASSTHROUGH   = &h00002000    ! [182] PASSTHROUGH
    define SPSW_NOPASSTHROUGH = &h00004000    ! [182] NOPASSTHROUGH
    define SPSW_LANDSCAPE     = &h00008000    ! [182] LANDSCAPE
    define SPSW_PORTRAIT      = &h00010000    ! [182] PORTRAIT (NOLANDSCAPE)
    define SPSW_AUTOFF        = &h00020000    ! [182] Auto FF
    define SPSW_CRLF          = &h00040000    ! [182] CRLF (for AUX printing)
    define SPSW_PREVIEW       = &h00080000    ! [182] PREVIEW
    define SPSW_NOPREVIEW     = &h00100000    ! [182] NOPREVIEW
    define SPSW_APEX          = &h00400000    ! [182] Like PREVIEW but only affects client side
    define SPSW_NOSAVESTATE   = &h02000000    ! [279] don't save APEX state on exit
    
!***[198] TAB(-10,AG_GETENV);"ATELICMODE";chr(127); flags
!***[198] low byte contains one of LICF_xxx

    define LICF_NORMAL        = 0             ! normal (licensed mode)
    define LICF_DEMO          = 1             ! demo mode
    define LICF_BADKEY        = 2             ! bad key
    define LICF_BADCO         = 3             ! bad company name
    define LICF_NONODE        = 4             ! no nodes
    define LICF_PSHELL        = 5             ! PolyShell not licensed
    define LICF_BADOS         = 6             ! license for other OS
    define LICF_EXPIRED       = 7             ! expired (maint)
    define LICF_EXPEXE        = 8             ! expired (runtime)
    define LICF_OLDKEY        = 9             ! old key format
    define LICF_ATSD          = 10            ! ATSD not licensed
    define LICF_SUPPORT       = 11            ! support use only
    define LICF_BADMAC        = 12            ! bad MAC addr
    define LICF_SERIAL        = 13            ! invalid serial #

!***[198] one or more of these bits OR'd into the result
    define ATELF_PROTO        = &h0100        ! ATE handshake inited (feature supported)
    define ATELF_PC           = &h0200        ! PC client-based licensing
    define ATELF_SRV1         = &h0400        ! Server/system license (streamlined mode)
    define ATELF_SRV2         = &h0800        ! Server-based (LICENS/ATESRV)
    define ATELF_AUX          = &h1000        ! Server AUX (ate.lic)

!*** XTEXT op codes used by Leo
    define TXOP_CREATE	= 1	! create new ctl (if ctlno=-1, assign one)
    define TXOP_REEDIT	= 2     ! like 1 but reuse existing ctl/text
    define TXOP_DELETE	= 3	! delete control (exit immediately)
    define TXOP_DISPLAY	= 4	! display only (exit immediately)
    define TXOP_SAVE    = 5     ! save previously edited text (exit immediately)


!*** [224] //TEXTRECTANGLE flags
    define TRF_TOP             = &h00000000 ! top justification
    define TRF_LEFT            = &h00000000 ! left justification
    define TRF_HCENTER         = &h00000001 ! horizontal centering
    define TRF_RIGHT           = &h00000002 ! right justification
    define TRF_VCENTER         = &h00000004 ! vertical centering (+TRF_SINGLELINE only)
    define TRF_BOTTOM          = &h00000008 ! bottom justification
    define TRF_WORDBREAK       = &h00000010 ! word wrapping
    define TRF_SINGLELINE      = &h00000020 ! single line output (CRLF ignored)
    define TRF_EXPANDTABS      = &h00000040 ! expand tabs (8 per)
    define TRF_NOCLIP          = &h00000100 ! no clipping
    define TRF_EXTERNALLEADING = &h00000200 ! incl. external leading in spacing
    define TRF_CALCRECT        = &h00000400 ! don't draw, just calc (MX_GDICALC only)
    define TRF_PATH_ELLIPSIS   = &h00004000 ! path ellipsis
    define TRF_END_ELLIPSIS    = &h00008000 ! end ellipsis
    define TRF_WORD_ELLIPSIS   = &h00040000 ! word ellipsis

!*** [230] MX_DEFTABXYZ flags

define TBZF_AUTONUMKBD = &h0001     ! click sends ## (if field starts with ##.)
define TBZF_AUTOCR     = &h0002     ! add CR to the click string
define TBZF_AUTOFKY100 = &h0004     ! convert ##. to VK_xF1## (excl w/ AUTONUMKBD)
define TBZF_HIDENUM    = &h0008     ! remove the leading ##. from the display
define TBZF_LINKTOLBL  = &h0010     ! link click code to label's click code

!*** [248] .ARGTYP symbols

define ARGTYP_MASK     = &h000f        ! mask for types X,S,F,B,I
define ARGTYP_X        = &h0000        ! X type (mutually exclusive)
define ARGTYP_S        = &h0002        ! S type ("  "   ")
define ARGTYP_F        = &h0004        ! F type ("  "   ")
define ARGTYP_B        = &h0006        ! B type ("  "   ")
define ARGTYP_I        = &h0008        ! I type ("  "   ")

define ARGTYP_ARRAY    = &h0010        ! array
define ARGTYP_NOSURR   = &h0020        ! no surrogate
define ARGTYP_DYN      = &h0040        ! dynamic variable
define ARGTYP_LOCAL    = &h0080        ! local dynamic variable
define ARGTYP_SBR      = &h0100        ! var within SBX or xcall AMOS
define ARGTYP_DIMX     = &h0200        ! [276] arg is base of DIMX array passed by reference
define ARGTYP_READONLY = &h0400        ! [276] arg is a literal or expr, can't be updated (added in 1553.0)
define ARGTYP_COLL     = &h0800        ! [278] arg is a collection (e.g. ordered map, etc.)

!*** [249] FTPDLX, FTP2 symbols

define XFTPF_GET       = &h00000000    ! get (assuming if neither _PUT nor _DEL flag set)
define XFTPF_PUT       = &h00000001    ! put
define XFTPF_ASCII     = &h00000002    ! ASCII mode (else binary)
define XFTPF_NOERRMSG  = &h00000010    ! suppress error dialogs
define XFTPF_PASSIVE   = &h00000020    ! passive ftp mode
define XFTPF_NOBANNER  = &h00000040    ! suppress the transfer banner
define XFTPF_DEBUG     = &h00000080    ! create debug.log (FTPDLX only)
define XFTPF_SFTP      = &h00000100    ! SFTP protocol (else FTP)
define XFTPF_RMVEXT    = &h00000200    ! Remove ext after xfer (FTPDLX only)
define XFTPF_VERSION2  = &h00001000    ! request FTP2 (FTPSYNC mode only)
define XFTPF_KEEPOPEN  = &h00002000    ! keep connection open (FTP2 only)
define XFTPF_REUSE     = &h00004000    ! reuse existing connection if avail (FTP2 only)
define XFTPF_CLOSE     = &h00008000    ! close connection (no xfer) (FTP2 only)
define XFTPF_DEL       = &h00100000    ! remote delete (FTP2 only)
define XFTPF_RECURSE   = &h00200000    ! [273] recurse subdirs (with wildcards) 
define XFTPF_DIR       = &h00400000    ! [291] create dir list
define XFTPF_RENAME    = &h00800000    ! [292] rename file or dir

										! [273] Following are mutually exclusive (SFTP only) M=missing, N=newer, S=size 
define XFTPF_SYNC_ALL  = &h00000000     ! [273] upload/download all files 
define XFTPF_SYNC_M    = &h01000000     ! [273] upload/download all files that don't exist in dest 
define XFTPF_SYNC_MN   = &h02000000	    ! [273] upload/download all files that don't exist in dest, or are newer in source 
define XFTPF_SYNC_N	   = &h03000000	    ! [273] upload/download only files that exist in both places but are newer in src 
define XFTPF_SYNC_MS   = &h04000000	    ! [273] upload/download all files that don't exist in dest or are different size 
define XFTPF_SYNC_MNS  = &h05000000	    ! [273] upload/download all files that don't exist in dest or are different size or newer 
define XFTPF_SYNC_DELM = &h0F000000     ! [273] (with XFTPF_DEL) delete only remote files that do not exist locally 

!*** [249] EFS flags
define AEFS_CLR_KEY_ON_EXIT = &h0001   ! clear key on exit to dot prompt

!*** [251] CGIUTL flags
define CGIOP_STATUS    = 0                ! Get CGI status
define CGIOP_STDIN     = 1                ! Get stdin (or GET query) into string
define CGIOP_GETPAR    = 2                ! Get single param
define CGIOP_MRGOUT    = 3                ! Merge fields with template, output
define CGIOP_STDOUT    = 4                ! Send string to stdout
define CGIOP_GETENV    = 5                ! Get environment var
define CGIOP_MRGFIL    = 6                ! Merge fields with template into new file
define CGIOP_GETPARX   = 7                ! Get multiple params, extended options
define CGIOP_CLSOUT    = 8                ! Close stdout
define CGIOP_UNESCAPE  = 9                ! Convert HTML escape codes to ascii
define CGIOP_GETREQ    = 10               ! Get request (needed for FastCGI mode)
define CGIOP_SETSTS    = 11               ! Set exit status (FastCGI mode)
define CGIOP_GETPARARY = 12               ! Get params into associative array
define CGIOP_OPENSOCKET= 13               ! [277] Open socket for FCGI server (persistent) mode

!*** [251] CGIOP_STATUS flags
define CGIF_NORMAL     = &h0001           ! normal (each request is new session)
define CGIF_FASTCGI    = &h0002           ! using FastCGI protocol
define CGIF_SERVER     = &h0004           ! [277] server mode (persistent)

!*** [253] DATES.SBR flags
define DTOP_CVTFMT     = 1                ! Convert format
define DTOP_DATEAFTER  = 2                ! Compute date2 x days after date1 
define DTOP_DAYSAFTER  = 3                ! Compute days date2 is after date1
define DTOP_YWD        = 4                ! Compute date from year, wk, dow
define DTOP_YMWD       = 5                ! Compute date from year, mon, wk, dow
define DTOP_EOM        = 6                ! Compute end of month
define DTOP_ODTIM      = 7                ! Output formatted date (ala ODTIM)
define DTOP_IDTIM      = 8                ! Input formatted date (ala iDTIM)
define DTOP_RANGE      = 9                ! Check if date in range

define CJULIAN_Y2K_OFFSET   = 36524       ! [258] days from 1/1/1900 to 1/1/2000
define IJULIAN_Y2K_OFFSET   = 2451545     ! [258] 1/1/2000 in internal julian format
define IJULIAN_EPOCH_OFFSET = 2440588     ! [289] 1/1/1970 in internal julian format

define INSTRF_ANY      = &h01000000       ! [267] INSTR flag to patch any char in pattern (like strpbrk) 
define INSTRF_ANYQT    = &h02000000       ! [267] same as INSTRF_ANY but ignores chars within matching quotes 

!*** [268] EDIT$() flags
define EDITF_SPTB   = &h0002           ! [268] remove spaces and tabs
define EDITF_CTLS   = &h0004           ! [268] remove RUB & chr(0)-chr(31) except TAB
define EDITF_SPTBL  = &h0008           ! [268] remove leading spaces and tabs
define EDITF_SPTB1  = &h0010           ! [268] shrink spaces & tabs to one space
define EDITF_SPTBR  = &h0020           ! [268] remove trailing spaces and tabs
define EDITF_UNQT   = &h0040           ! [268] unquote
define EDITF_EXQT   = &h0080           ! [268] limit removal to outside quotes **
define EDITF_Z      = &h0100           ! [285] convert "0" to ""
define EDITF_SPTBZ  = &h0128           ! [285] remove leading/trailing spaces/tabs; convert resulting "0" to ""

!***[286] IFE() flags
define IFE_NB       = 0                ! [286] string IFE$() default  - if expr1$ Not Blank then expr1$ else expr2$
define IFE_NZB      = 1                ! [286]  if expr1$ Not Zero or Blank then expr1$ else expr2$
define IFE_TRUE     = 0                ! [286] numeric IFE() default - if expr1 then expr1 else expr2
define IFE_FALSE    = 2                ! [286]  if expr1 FALSE (zero) then expr1 else expr2 

!***[297] FDVF_xxx flags used by XOPEN (these are also in addsfdv.def)
define FDVF_FORCED     = &h0010        ! [297] random'forced
define FDVF_SPANBLOCKS = &h2000        ! [298] SPAN'BLOCKS 
define FDVF_EXCLUSIVE  = &h0800        ! [297] indexed'exclusive
define FDVF_READONLY   = &h1000        ! [297] readonly
define FDVF_END_FILE   = &h2000        ! [297] end'file
define FDVF_W_RECORD   = &h4000        ! [297] wait'record
define FDVF_W_FILE     = &h8000        ! [297] wait'file

!***[303] BASORT flags ***
define SORT_S     = 0
define SORT_F     = 1
define SORT_B     = 2
define SORT_I     = 3
define SORT_NAT   = 4   ! natural sort
define SORT_NATCI = 5   ! natural sort (case insensitive)

define SORT_ASC   = 0   ! ascending
define SORT_DESC  = 1   ! descending

define SORT_NA    = 0   ! use for n/a parameters
++endif
