home *** CD-ROM | disk | FTP | other *** search
- /* This program is in fact a function that is used to return the numeric */
- /* value of the identifier given in argument. This is part of the */
- /* errormsg.library V4.01 distribution (not required to work though) */
- /*******************************************************/
- /* */
- /* $VER: rexx:ERMID.rexx 1.04 (22.12.94) */
- /* */
- /* ©1994 F.Delacroix, FreeWare */
- /* */
- /* Usage: Num=ERMID(AlphaNum) */
- /* */
- /* See below for possible values */
- /* */
- /* Frédéric Delacroix */
- /* 5 rue d'Artres */
- /* 59269 Quérénaing */
- /* France */
- /* */
- /*******************************************************/
-
- parse upper arg args.1 .,args.2 .,args.3 .,args.4 .,args.5 .,args.6 .,
- args.7 .,args.8 .,args.9 .,args.10 .,args.11 .,args.12 .,
- args.13 .,args.14 .,args.15 .
-
- NumID=0
-
- do i=1 to Arg()
-
- select
-
- /* First check for system identifiers for errormsg.library */
- when args.i=ERMSYS_DOS then return 0
- when args.i=ERMSYS_EXEC then return 1
- when args.i=ERMSYS_GRAPHICS then return 2
- when args.i=ERMSYS_INTUITION then return 3
- when args.i=ERMSYS_IFFPARSE then return 4
- when args.i=ERMSYS_AUDIO then return 5
- when args.i=ERMSYS_GAMEPORT then return 6
- when args.i=ERMSYS_NARRATOR then return 7
- when args.i=ERMSYS_PARALLEL then return 8
- when args.i=ERMSYS_PRINTER then return 9
- when args.i=ERMSYS_SCSIDISK then return 10
- when args.i=ERMSYS_SERIAL then return 11
- when args.i=ERMSYS_TRACKDISK then return 12
- when args.i=ERMSYS_CLIPBOARD then return 13
- when args.i=ERMSYS_CONSOLE then return 14
- when args.i=ERMSYS_INPUT then return 15
- when args.i=ERMSYS_KEYBOARD then return 16
- when args.i=ERMSYS_TIMER then return 17
- when args.i=ERMSYS_AMIGAGUIDE then return 18
- when args.i=ERMSYS_ARP then return 19
- when args.i=ERMSYS_COMMODITIES then return 20
- when args.i=ERMSYS_ERRORMSG then return 21
- when args.i=ERMSYS_EXPANSION then return 22
- when args.i=ERMSYS_GADTOOLS then return 23
- when args.i=ERMSYS_POWERPACKER then return 24
- when args.i=ERMSYS_TRANSLATOR then return 25
- when args.i=ERMSYS_DATATYPES then return 26
- when args.i=ERMSYS_DISKFONT then return 27
- when args.i=ERMSYS_MUI then return 28
- when args.i=ERMSYS_XFD then return 29
- when args.i=ERMSYS_GADTOOLSBOX then return 30
- when args.i=ERMSYS_GUIFRONT then return 31
- when args.i=ERMSYS_XPK then return 32
-
- /* then check for subsystem identifiers for errormsg.library */
- when args.i=ERMSUB_Generic then return 0
-
- /* For ERMSYS_DOS: */
- when args.i=ERMSUB_IoErr then return -132
- when args.i=ERMSUB_MatchFirst then return -132
- when args.i=ERMSUB_MatchNext then return -132
-
- /* For ERMSYS_EXEC: */
- when args.i=ERMSUB_NoMemory then return -198
- when args.i=ERMSUB_NoLibrary then return -552
-
- /* For ERMSYS_GRAPHICS: */
- when args.i=ERMSUB_MakeVPort then return -216
- when args.i=ERMSUB_MrgCop then return -210
-
- /* For ERMSYS_INTUITION: */
- when args.i=ERMSUB_OpenScreen then return -198
- when args.i=ERMSUB_OpenScreenTagList then return -198
-
- /* For ERMSYS_COMMODITIES: */
- when args.i=ERMSUB_CxBroker then return -36
- when args.i=ERMSUB_CxObjError then return -66
-
- /* For ERMSYS_MUI: */
- when args.i=ERMSUB_MUIAutoError then return -66
- /* note: the latter is only defined in a consistency concern; it is obvious
- it is not usable from an ARexx program (hard to make ARexx programs into
- MUI applications ! :-) */
-
- /* For ERMSYS_GADTOOLSBOX :*/
- when args.i=ERMSUB_LoadGUI then return -264
- when args.i=ERMSUB_SetupScreen then return 1
- when args.i=ERMSUB_OpenAWindow then return 2
-
- /* For ERMSYS_GUIFRONT :*/
- when args.i=ERMSUB_CreateGUIA then return -60
-
-
- /* Some systems constants now...*/
-
- /* memory attributes */
- when args.i=MEMF_ANY then nop /* equals 0 */
- when args.i=MEMF_PUBLIC then NumID=NumID+1
- when args.i=MEMF_CHIP then NumID=NumID+2
- when args.i=MEMF_FAST then NumID=NumID+4
- when args.i=MEMF_LOCAL then NumID=NumID+256
- when args.i=MEMF_24BITDMA then NumID=NumID+512
- when args.i=MEMF_KICK then NumID=NumID+1024
-
- /* IDCMP flags */
- when args.i=IDCMP_SIZEVERIFY then NumID=NumID+1
- when args.i=IDCMP_NEWSIZE then NumID=NumID+2
- when args.i=IDCMP_REFRESHWINDOW then NumID=NumID+4
- when args.i=IDCMP_MOUSEBUTTONS then NumID=NumID+8
- when args.i=IDCMP_MOUSEMOVE then NumID=NumID+16
- when args.i=IDCMP_GADGETDOWN then NumID=NumID+32
- when args.i=IDCMP_GADGETUP then NumID=NumID+64
- when args.i=IDCMP_REQSET then NumID=NumID+128
- when args.i=IDCMP_MENUPICK then NumID=NumID+256
- when args.i=IDCMP_CLOSEWINDOW then NumID=NumID+512
- when args.i=IDCMP_RAWKEY then NumID=NumID+1024
- when args.i=IDCMP_REQVERIFY then NumID=NumID+2048
- when args.i=IDCMP_REQCLEAR then NumID=NumID+4096
- when args.i=IDCMP_MENUVERIFY then NumID=NumID+8192
- when args.i=IDCMP_NEWPREFS then NumID=NumID+16384
- when args.i=IDCMP_DISKINSERTED then NumID=NumID+32768
- when args.i=IDCMP_DISKREMOVED then NumID=NumID+65536
- when args.i=IDCMP_WBENCHMESSAGE then NumID=NumID+131072
- when args.i=IDCMP_ACTIVEWINDOW then NumID=NumID+262144
- when args.i=IDCMP_INACTIVEWINDOW then NumID=NumID+524288
- when args.i=IDCMP_DELTAMOVE then NumID=NumID+1048576
- when args.i=IDCMP_VANILLAKEY then NumID=NumID+2097152
- when args.i=IDCMP_INTUITICKS then NumID=NumID+4194304
- when args.i=IDCMP_IDCMPUPDATE then NumID=NumID+8388608
- when args.i=IDCMP_MENUHELP then NumID=NumID+16777216
- when args.i=IDCMP_CHANGEWINDOW then NumID=NumID+33554432
- when args.i=IDCMP_GADGETHELP then NumID=NumID+67108864
- when args.i=IDCMP_LONELYMESSAGE then NumID=NumID+4294967296
-
- /* flags for ERMSYS_EXEC/ERMSUB_NoLibrary (see include file!)
- when args.i=EXECF_NOLIB_USENAME then NumID=NumID+1
- when args.i=EXECF_NOLIB_USEVERION then NumID=NumID+3
-
- /* Here it is, it should be enough for any symbol required for */
- /* errormsg.library functions. Of course, nothing prevents you */
- /* from using these symbols (and this program) in another context, */
- /* just remember this is copyright 1994 F.Delacroix, FreeWare */
-
- otherwise nop
- end /* end of select */
- end /* end of do */
-
- return NumID
-