home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / amigae / e_v3.2a / modulessrc / rexx / storage.e < prev   
Text File  |  1977-12-31  |  3KB  |  161 lines

  1. OPT MODULE
  2. OPT EXPORT
  3.  
  4. OPT PREPROCESS
  5.  
  6. MODULE 'exec/lists',
  7.        'exec/nodes',
  8.        'exec/ports'
  9.  
  10. OBJECT nexxstr
  11.   ivalue:LONG
  12.   length:INT  -> This is unsigned
  13.   flags:CHAR
  14.   hash:CHAR
  15.   buff[8]:ARRAY
  16. ENDOBJECT     /* SIZEOF=16 */
  17.  
  18. #define IVALUE(nsptr) (nsptr::nexxstr.ivalue)
  19.  
  20. CONST NXADDLEN=9,
  21.       NSB_KEEP=0,
  22.       NSB_STRING=1,
  23.       NSB_NOTNUM=2,
  24.       NSB_NUMBER=3,
  25.       NSB_BINARY=4,
  26.       NSB_FLOAT=5,
  27.       NSB_EXT=6,
  28.       NSB_SOURCE=7,
  29.       NSF_KEEP=1,
  30.       NSF_STRING=2,
  31.       NSF_NOTNUM=4,
  32.       NSF_NUMBER=8,
  33.       NSF_BINARY=16,
  34.       NSF_FLOAT=$20,
  35.       NSF_EXT=$40,
  36.       NSF_SOURCE=$80,
  37.       NSF_INTNUM=26,
  38.       NSF_DPNUM=$28,
  39.       NSF_ALPHA=6,
  40.       NSF_OWNED=$C1,
  41.       KEEPSTR=$86,
  42.       KEEPNUM=$9A
  43.  
  44. OBJECT rexxarg
  45.   size:LONG
  46.   length:INT  -> This is unsigned
  47.   flags:CHAR
  48.   hash:CHAR
  49.   buff[8]:ARRAY
  50. ENDOBJECT     /* SIZEOF=16 */
  51.  
  52. OBJECT rexxmsg
  53.   mn:mn
  54.   taskblock:LONG
  55.   libbase:LONG
  56.   action:LONG
  57.   result1:LONG
  58.   result2:LONG
  59.   args[16]:ARRAY OF LONG
  60.   passport:PTR TO mp
  61.   commaddr:PTR TO CHAR
  62.   fileext:PTR TO CHAR
  63.   stdin:LONG
  64.   stdout:LONG
  65.   avail:LONG
  66. ENDOBJECT     /* SIZEOF=128 */
  67.  
  68. #define ARG0(rmp) (rmp::rexxmsg.args[0])
  69. #define ARG1(rmp) (rmp::rexxmsg.args[1])
  70. #define ARG2(rmp) (rmp::rexxmsg.args[2])
  71.  
  72. CONST ACTION=28,
  73.       RESULT1=$20,
  74.       RESULT2=$24,
  75.       MAXRMARG=15,
  76.       RXCOMM=$1000000,
  77.       RXFUNC=$2000000,
  78.       RXCLOSE=$3000000,
  79.       RXQUERY=$4000000,
  80.       RXADDFH=$7000000,
  81.       RXADDLIB=$8000000,
  82.       RXREMLIB=$9000000,
  83.       RXADDCON=$A000000,
  84.       RXREMCON=$B000000,
  85.       RXTCOPN=$C000000,
  86.       RXTCCLS=$D000000,
  87.       RXFB_NOIO=16,
  88.       RXFB_RESULT=17,
  89.       RXFB_STRING=18,
  90.       RXFB_TOKEN=19,
  91.       RXFB_NONRET=20,
  92.       RXFF_RESULT=$20000,
  93.       RXFF_STRING=$40000,
  94.       RXFF_TOKEN=$80000,
  95.       RXFF_NONRET=$100000,
  96.       RXCODEMASK=$FF000000,
  97.       RXARGMASK=15
  98.  
  99. OBJECT rexxrsrc
  100.   ln:ln
  101.   func:INT
  102.   base:LONG
  103.   size:LONG
  104.   arg1:PTR TO CHAR
  105.   arg2:LONG
  106. ENDOBJECT     /* SIZEOF=32 */
  107.  
  108. CONST RRTYPE=8,
  109.       RRNAME=10,
  110.       RRSIZE=20,
  111.       RRT_ANY=0,
  112.       RRT_LIB=1,
  113.       RRT_PORT=2,
  114.       RRT_FILE=3,
  115.       RRT_HOST=4,
  116.       RRT_CLIP=5,
  117.       GLOBALSZ=$C8
  118.  
  119. OBJECT rexxtask
  120.   global[$C8]:ARRAY
  121.   msgport:mp
  122.   flags:CHAR
  123.   sigbit:CHAR  -> This is signed
  124.   clientid:LONG
  125.   msgpkt:LONG
  126.   taskid:LONG
  127.   port:LONG
  128.   errtrap:LONG
  129.   stackptr:LONG
  130.   header1:lh
  131.   header2:lh
  132.   header3:lh
  133.   header4:lh
  134.   header5:lh
  135. ENDOBJECT     /* SIZEOF=330 */
  136.  
  137. CONST ENVLIST=$104,
  138.       FREELIST=$112,
  139.       MEMLIST=$120,
  140.       FILELIST=$12E,
  141.       PORTLIST=$13C,
  142.       NUMLISTS=5,
  143.       RTFB_TRACE=0,
  144.       RTFB_HALT=1,
  145.       RTFB_SUSP=2,
  146.       RTFB_TCUSE=3,
  147.       RTFB_WAIT=6,
  148.       RTFB_CLOSE=7,
  149.       MEMQUANT=16,
  150.       MEMMASK=-16,
  151.       MEMQUICK=1,
  152.       MEMCLEAR=$10000
  153.  
  154. OBJECT srcnode
  155.   succ:PTR TO srcnode
  156.   pred:PTR TO srcnode
  157.   ptr:LONG
  158.   size:LONG
  159. ENDOBJECT     /* SIZEOF=16 */
  160.  
  161.